|
From: | David Ayers |
Subject: | Re: Still crashes in GSLazyRecursiveLock |
Date: | Fri, 23 Apr 2004 15:23:20 +0200 |
User-agent: | Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.6) Gecko/20040113 |
Philip Mötteli wrote:
It seems, that by autoreleasing those locks, we just have postponed the problem:
My assumption derived from looking at the stack was indeed wrong. Now that I had the chance to debug it, I found the real problem.
GSLazy*Lock -init implementations did not call [super init] before releasing the receiver, which it does if the application is multithreaded to return an NS*Lock. GNUstep's implementation of NS*Lock -dealloc is able to handle partially initialized NSLock instances so we never noticed.
I've checked in a fix which always calls [super init]. Please update and try again. My tests show that it should work now.
Cheers, David
[Prev in Thread] | Current Thread | [Next in Thread] |