gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gnustep-cvs] Locking tidups/fixes


From: Richard Frith-Macdonald
Subject: Re: [Gnustep-cvs] Locking tidups/fixes
Date: Sat, 1 Nov 2003 10:17:24 +0000


On Saturday, November 1, 2003, at 09:51 AM, David Ayers wrote:

Richard Frith-Macdonald  wrote:

*+* Sat Nov 01 07:05:00 2003  Richard Frith-Macdonald <address@hidden>
*+*
*+* * Source/NSNotificationCenter.m: Simplify locking code as original
*+* code was hanging in GNUMail after Davids recent locking changes ... *+* not sure what the actual problem was, so this change may have merely
*+* re-hidden a bug :-(
*+* * Source/Additions/Unicode.m: Simplify to use non-recursive lock.
*+*

Thanks,

This is strange, I had assumed that the problem was due to some of the RunLoop changes. I'll have a closer look at it, once I have some time with a -gui system.

When I looked at GNUMail under debug ...
one thread was waiting for a reply after sending a root proxy request
one thread was in poll() in a pthread function.
one thread was blocking waiting for a pthread lock while trying to lock a notification center table.

The problem went away if I reverted your Unicode.m changes ... implying it was something to do with the use of lazy locking there .. interacting with the locking involved in the notification system
being set up when the app became multi-threaded.
The locking code in NSNotificationCenter *looked* ok (and has been working for a *long* time), but simplifying it a bit by using lazy locks got rid of the problem. I also spent quite a while going
over the new locking code again and didn't spot any errors.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]