@@ -85,10 +85,12 @@ if (fd > _maxFD) _maxFD = fd; FD_SET((of_socket_t)fd, &_readFDs); + + [super addObjectForReading: object]; } - (void)addObjectForWriting: (id )object { int fd = object.fileDescriptorForWriting; @@ -103,10 +105,12 @@ if (fd > _maxFD) _maxFD = fd; FD_SET((of_socket_t)fd, &_writeFDs); + + [super addObjectForWriting: object]; } - (void)removeObjectForReading: (id )object { /* TODO: Adjust _maxFD */ @@ -120,10 +124,12 @@ if (fd >= (int)FD_SETSIZE) @throw [OFOutOfRangeException exception]; #endif FD_CLR((of_socket_t)fd, &_readFDs); + + [super removeObjectForReading: object]; } - (void)removeObjectForWriting: (id )object { /* TODO: Adjust _maxFD */ @@ -137,10 +143,12 @@ if (fd >= (int)FD_SETSIZE) @throw [OFOutOfRangeException exception]; #endif FD_CLR((of_socket_t)fd, &_writeFDs); + + [super removeObjectForWriting: object]; } - (void)observeForTimeInterval: (of_time_interval_t)timeInterval { id const *objects;