@@ -297,11 +297,11 @@ - (void)OF_removeFileDescriptorForWriting: (int)fd { OF_UNRECOGNIZED_SELECTOR } -- (void)OF_processQueue +- (void)OF_processQueueAndStoreRemovedIn: (OFMutableArray*)removed { #ifdef OF_HAVE_THREADS [_mutex lock]; #endif @try { @@ -346,16 +346,18 @@ break; case QUEUE_REMOVE | QUEUE_READ: [self OF_removeFileDescriptorForReading: fd]; + [removed addObject: object]; [_readObjects removeObjectIdenticalTo: object]; break; case QUEUE_REMOVE | QUEUE_WRITE: [self OF_removeFileDescriptorForWriting: fd]; + [removed addObject: object]; [_writeObjects removeObjectIdenticalTo: object]; break; default: assert(0);