@@ -96,10 +96,12 @@ #endif if (kevent(_kernelQueue, &event, 1, NULL, 0, NULL) != 0) @throw [OFObserveFailedException exceptionWithObserver: self errNo: errno]; + + [super addObjectForReading: object]; } - (void)addObjectForWriting: (id )object { struct kevent event; @@ -115,10 +117,12 @@ #endif if (kevent(_kernelQueue, &event, 1, NULL, 0, NULL) != 0) @throw [OFObserveFailedException exceptionWithObserver: self errNo: errno]; + + [super addObjectForWriting: object]; } - (void)removeObjectForReading: (id )object { struct kevent event; @@ -129,10 +133,12 @@ event.flags = EV_DELETE; if (kevent(_kernelQueue, &event, 1, NULL, 0, NULL) != 0) @throw [OFObserveFailedException exceptionWithObserver: self errNo: errno]; + + [super removeObjectForReading: object]; } - (void)removeObjectForWriting: (id )object { struct kevent event; @@ -143,10 +149,12 @@ event.flags = EV_DELETE; if (kevent(_kernelQueue, &event, 1, NULL, 0, NULL) != 0) @throw [OFObserveFailedException exceptionWithObserver: self errNo: errno]; + + [super removeObjectForWriting: object]; } - (void)observeForTimeInterval: (of_time_interval_t)timeInterval { struct timespec timeout;