[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bugs #8374] NSNotificationCenter can deadlock
From: |
Willem Rein Oudshoorn |
Subject: |
[bugs #8374] NSNotificationCenter can deadlock |
Date: |
Tue, 30 Mar 2004 08:13:15 -0500 |
User-agent: |
Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.6) Gecko/20040206 Firefox/0.8 |
This mail is an automated notification from the bugs tracker
of the project: GNUstep.
/**************************************************************************/
[bugs #8374] Full Item Snapshot:
URL: <http://savannah.gnu.org/bugs/?func=detailitem&item_id=8374>
Project: GNUstep
Submitted by: Willem Rein Oudshoorn
On: Tue 03/30/04 at 13:13
Category: Base/Foundation
Severity: 3 - Ordinary
Item Group: Bug
Resolution: None
Assigned to: None
Status: Open
Summary: NSNotificationCenter can deadlock
Original Submission: There is a lock protecting the list of notifications.
This lock is grabbed before sending the notifications and released after
sending the notifications.
This can lead to a deadlock when multiple threads are using the notification
center. The attached program shows in a very artificial situation how the
deadlock can occur.
I just spend 3 days figuring this out in a complicated situation involving
multiple threads, DO and launched tasks.
So it is not just a theoretical problem.
I have not looked deeply at it, but probably just
making a copy instead of maintaining the lock will solve it.
(But I have to look again.)
Wim Oudshoorn
File Attachments
-------------------
-------------------------------------------------------
Date: Tue 03/30/04 at 13:13 Name: deadlocktest.tar.gz Size: 837KB By: wim
Example of NSNotificationCenter deadlock.
http://savannah.gnu.org/bugs/download.php?item_id=8374&item_file_id=1143
For detailed info, follow this link:
<http://savannah.gnu.org/bugs/?func=detailitem&item_id=8374>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
- [bugs #8374] NSNotificationCenter can deadlock,
Willem Rein Oudshoorn <=