ObjFW  Diff

Differences From Artifact [d42000199a]:

To Artifact [3b393cf990]:


593
594
595
596
597
598
599
600
601
602



603
604







605
606
607
608
609
610
611
593
594
595
596
597
598
599



600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618







-
-
-
+
+
+


+
+
+
+
+
+
+







		OF_ENSURE(0);
}

- (void)run
{
	_running = true;

	while (_running) {
		void *pool = objc_autoreleasePoolPush();
		OFDate *now = [OFDate date];
	for (;;) {
		void *pool;
		OFDate *now;
		OFTimer *timer;
		OFDate *nextTimer;

		of_memory_read_barrier();
		if (!_running)
			break;

		pool = objc_autoreleasePoolPush();
		now = [OFDate date];

#ifdef OF_HAVE_THREADS
		[_timersQueueLock lock];
		@try {
#endif
			of_list_object_t *listObject =
			    [_timersQueue firstListObject];
659
660
661
662
663
664
665

666
667
668
666
667
668
669
670
671
672
673
674
675
676







+



		objc_autoreleasePoolPop(pool);
	}
}

- (void)stop
{
	_running = false;
	of_memory_write_barrier();
	[_streamObserver cancel];
}
@end