ObjFW  Diff

Differences From Artifact [cee8e6c735]:

To Artifact [ce73e14376]:


314
315
316
317
318
319
320


321
322


















323
324
325
326
327
328
329
	[timersQueueLock lock];
	@try {
		[timersQueue insertObject: timer];
	} @finally {
		[timersQueueLock unlock];
	}



	[streamObserver cancel];
}



















- (void)streamIsReadyForReading: (OFStream*)stream
{
	OFList *queue = [readQueues objectForKey: stream];
	of_list_object_t *listObject;

	OF_ENSURE(queue != nil);







>
>


>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
	[timersQueueLock lock];
	@try {
		[timersQueue insertObject: timer];
	} @finally {
		[timersQueueLock unlock];
	}

	[timer OF_setInRunLoop: self];

	[streamObserver cancel];
}

- (void)OF_removeTimer: (OFTimer*)timer
{
	[timersQueueLock lock];
	@try {
		of_list_object_t *iter;

		for (iter = [timersQueue firstListObject]; iter != NULL;
		    iter = iter->next) {
			if ([iter->object isEqual: timer]) {
				[timersQueue removeListObject: iter];
				break;
			}
		}
	} @finally {
		[timersQueueLock unlock];
	}
}

- (void)streamIsReadyForReading: (OFStream*)stream
{
	OFList *queue = [readQueues objectForKey: stream];
	of_list_object_t *listObject;

	OF_ENSURE(queue != nil);
563
564
565
566
567
568
569


570
571
572
573
574
575
576
			if (listObject != NULL &&
			    [[listObject->object fireDate] compare: now] !=
			    OF_ORDERED_DESCENDING) {
				timer =
				    [[listObject->object retain] autorelease];

				[timersQueue removeListObject: listObject];


			} else
				timer = nil;
		} @finally {
			[timersQueueLock unlock];
		}

		if ([timer isValid])







>
>







583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
			if (listObject != NULL &&
			    [[listObject->object fireDate] compare: now] !=
			    OF_ORDERED_DESCENDING) {
				timer =
				    [[listObject->object retain] autorelease];

				[timersQueue removeListObject: listObject];

				[timer OF_setInRunLoop: nil];
			} else
				timer = nil;
		} @finally {
			[timersQueueLock unlock];
		}

		if ([timer isValid])