@@ -118,11 +118,11 @@ { [self _removeFileDescriptor: fd withEvents: POLLOUT]; } -- (BOOL)observeWithTimeout: (int)timeout +- (BOOL)observeWithTimeout: (double)timeout { void *pool = objc_autoreleasePoolPush(); struct pollfd *FDsCArray; size_t i, nFDs; @@ -141,11 +141,12 @@ #ifdef OPEN_MAX if (nFDs > OPEN_MAX) @throw [OFOutOfRangeException exceptionWithClass: [self class]]; #endif - if (poll(FDsCArray, (nfds_t)nFDs, timeout) < 1) + if (poll(FDsCArray, (nfds_t)nFDs, + (timeout != -1 ? timeout * 1000 : -1)) < 1) return NO; for (i = 0; i < nFDs; i++) { pool = objc_autoreleasePoolPush();