[Pythonmac-SIG] question about garbage collection with NSApplication.run()
Bill Janssen
janssen at parc.com
Sun May 31 20:34:20 CEST 2009
I'm writing a Python program that has a main that looks like this:
application = NSApplication.sharedApplication()
# set up handler for network change notification
SCDynamicStoreSetNotificationKeys(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 events
timer = 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 is
that this is single-threaded, and that NSApplication.run will handle
periodic drainage of the default main thread release pool.
Bill
More information about the Pythonmac-SIG
mailing list