Index: src/OFKernelEventObserver_kqueue.m ================================================================== --- src/OFKernelEventObserver_kqueue.m +++ src/OFKernelEventObserver_kqueue.m @@ -184,10 +184,15 @@ if (events == 0) return false; for (i = 0; i < events; i++) { + if (eventList[i].flags & EV_ERROR) + @throw [OFObserveFailedException + exceptionWithObserver: self + errNo: (int)eventList[i].data]; + if (eventList[i].ident == _cancelFD[0]) { char buffer; assert(eventList[i].filter == EVFILT_READ); OF_ENSURE(read(_cancelFD[0], &buffer, 1) == 1);