@@ -134,16 +134,10 @@ struct sockaddr_in _cancelAddr; #endif #ifdef OF_AMIGAOS ULONG _execSignalMask; #endif -@private - OFMutableData *_queueActions; - OFMutableArray *_queueObjects; -#ifdef OF_HAVE_THREADS - OFMutex *_mutex; -#endif OF_RESERVE_IVARS(4) } /*! * @brief The delegate for the OFKernelEventObserver. @@ -232,14 +226,20 @@ - (void)observeUntilDate: (OFDate *)date; /*! * @brief Cancels the currently blocking observe call. * - * This is automatically done when a new object is added or removed by another - * thread, but in some circumstances, it might be desirable for a thread to - * manually stop the observe running in another thread. + * This is the only method that can and should be called from another thread + * than the one using the observer. */ - (void)cancel; + +/*! + * @brief This method should be called by subclasses in @ref observeUntilDate: + * as the first thing to handle all sockets that currently have data in + * the read buffer. + */ +- (bool)of_processReadBuffers; @end #endif OF_ASSUME_NONNULL_END