[Pythonmac-SIG] lots of Python-Cocoa errors in XCode console window...

Bill Janssen janssen at parc.com
Mon Nov 3 00:02:22 CET 2008


has <hengist.podd at virgin.net> wrote:

> You're leaking memory, which isn't a good thing.
> 
> Are you using background threads? PyObjC automatically creates an
> autorelease pool for the main thread only; you need to provide
> autorelease pools for other threads yourself.

Yes, I am using background threads.  I have some functions triggered by
actions which make calls on remote services, and so may take arbitrarily
long to execute; I fork worker threads to do that fetch.  I'm using
Python's threading.Thread; should my "target" function look like this?

   def thread_target(*args):
      pool = NSAutoreleasePool.alloc().init()
      try:
          ...
      finally:
          del pool

Then, in the main thread:

   threading.Thread(target=thread_target,args=(...)).start()

Bill


More information about the Pythonmac-SIG mailing list