On 31 May, 2009, at 20:34, Bill Janssen wrote:
I'm writing a Python program that has a main that looks like this: application = NSApplication.sharedApplication() # set up handler for network change notificationSCDynamicStoreSetNotificationKeys(DYNSTORE, None, [NETWORK_KEY,]) # Get a CFRunLoopSource for our store session and add it to the application's runloop:CFRunLoopAddSource( NSRunLoop.currentRunLoop().getCFRunLoop(), SCDynamicStoreCreateRunLoopSource(None, DYNSTORE, 0), kCFRunLoopCommonModes ) # add a timer for application scan eventstimer = NSTimer .scheduledTimerWithTimeInterval_target_selector_userInfo_repeats_( periodicity, scanner, objc.selector(scanner.scan, signature="v@:"), None, True)# using an NSRunLoop avoids Activity Monitor complaining about "not responding"application.run()Do I need to do anything about NSAutoreleasePools? My understanding isthat this is single-threaded, and that NSApplication.run will handle periodic drainage of the default main thread release pool.
That's right. NSApplication.run manages the the pool for you. You only have to worry about autorelease pools when you create new threads running Cocoa code, and when you a long time without looping through the eventloop.
Ronald
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ Pythonmac-SIG maillist - Pythonmac-SIG@python.org http://mail.python.org/mailman/listinfo/pythonmac-sig