On Sep 24, 2008, at 1:15 PM, Jason Bobier wrote:

Hey folks, I have a runloop on a thread that looks like this:

while (! _cancelled) {
        NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
                                                
[runloop runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]];
        [pool release];
}

And I put a timer in the loop that sets _cancelled to true, the runloop never stops. What's the proper way to do this?


Don't run it until the distant future; that'll cause the call to block until some time in 400X, by which time you probably won't be using your current Mac anymore. :) Instead, you should run shorter intervals (like a second from now), and if you need NSEvents to trigger during the time, then you should probably use -[NSApplication nextEventMatchingMask:...] instead with dequeueing. That method also runs the specified run loop.

Nick Zitzmann
<http://www.chronosnet.com/>

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to