@@ -583,11 +583,13 @@ OF_ENSURE(0); } - (void)run { - for (;;) { + running = YES; + + while (running) { void *pool = objc_autoreleasePoolPush(); OFDate *now = [OFDate date]; OFTimer *timer; OFDate *nextTimer; @@ -645,6 +647,12 @@ } objc_autoreleasePoolPop(pool); } } + +- (void)stop +{ + running = NO; + [streamObserver cancel]; +} @end