[Pythonmac-SIG] lots of Python-Cocoa errors in XCode console window...
Bill Janssen
janssen at parc.com
Mon Nov 3 17:00:39 CET 2008
So, how does the automatic GC in ObjC-2.0 play into this?
Bill
Jack Jansen <Jack.Jansen at cwi.nl> wrote:
>> On 3 nov 2008, at 00:02, Bill Janssen wrote:
>> > 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
>> I don't even think you need the try/finally and the del:
> def thread_target(*args):
> pool = NSAutoReleasePool.alloc().init()
> ...
>> The pool will be discarded when the thread exits, and that's that.
>> Of course, if you want the pool to be emptied more often you have to
> add code to do that.
>>> --
> Jack Jansen, <Jack.Jansen at cwi.nl>, http://www.cwi.nl/~jack
> If I can't dance I don't want to be part of your revolution -- Emma
> Goldman
>>
More information about the Pythonmac-SIG
mailing list