ObjFW  Diff

Differences From Artifact [5a67a78a49]:

To Artifact [8aa249806a]:

  • File src/OFKernelEventObserver.m — part of check-in [41ca862453] at 2014-02-04 09:41:38 on branch trunk — OFKernelEventObserver_kqueue: Ignore EBADF

    Removed file descriptors were returned in the event list with EBADF if
    the file descriptor has been closed before removing them. Interpreting
    that as a read event caused problems, as the file descriptor could not
    be mapped to an object anymore, thus the entry in the event list is
    skipped now if there was a EBADF error. (user: js, size: 9215) [annotate] [blame] [check-ins using]


351
352
353
354
355
356
357
358

359
360

361
362
363
364

365
366

367
368
369
370
371
372
373
351
352
353
354
355
356
357

358
359

360
361
362
363

364
365

366
367
368
369
370
371
372
373







-
+

-
+



-
+

-
+







			case QUEUE_ADD | QUEUE_WRITE:
				[_writeObjects addObject: object];

				[self OF_addFileDescriptorForWriting: fd];

				break;
			case QUEUE_REMOVE | QUEUE_READ:
				[_readObjects removeObjectIdenticalTo: object];
				[self OF_removeFileDescriptorForReading: fd];

				[self OF_removeFileDescriptorForReading: fd];
				[_readObjects removeObjectIdenticalTo: object];

				break;
			case QUEUE_REMOVE | QUEUE_WRITE:
				[_writeObjects removeObjectIdenticalTo: object];
				[self OF_removeFileDescriptorForWriting: fd];

				[self OF_removeFileDescriptorForWriting: fd];
				[_writeObjects removeObjectIdenticalTo: object];

				break;
			default:
				assert(0);
			}
		}