summaryrefslogtreecommitdiff
path: root/rts/RaiseAsync.c
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2008-10-09 08:51:18 +0000
committerSimon Marlow <marlowsd@gmail.com>2008-10-09 08:51:18 +0000
commit736d37f0c515316d1cba759301d92d7503895ea5 (patch)
tree5f8babba1973bd279c618cd38f1fe56151a58c48 /rts/RaiseAsync.c
parentce76b92f22b677fd6d978751be811d34fa141c84 (diff)
downloadhaskell-736d37f0c515316d1cba759301d92d7503895ea5.tar.gz
undo incorrect assertion, and fix comments
Diffstat (limited to 'rts/RaiseAsync.c')
-rw-r--r--rts/RaiseAsync.c11
1 files changed, 2 insertions, 9 deletions
diff --git a/rts/RaiseAsync.c b/rts/RaiseAsync.c
index 74e9dba635..b23c6c7a48 100644
--- a/rts/RaiseAsync.c
+++ b/rts/RaiseAsync.c
@@ -576,12 +576,8 @@ performBlockedException (Capability *cap, StgTSO *source, StgTSO *target)
This is for use when we raise an exception in another thread, which
may be blocked.
- Precondition: we have exclusive access to the TSO, which entails
- holding a lock on the object that owns the queue, if the TSO is
- blocked. e.g. if the thread is blocked on an MVar, we must hold a
- lock on the MVar before calling removeFromQueues().
-
- This has nothing to do with the UnblockThread event in GranSim. -- HWL
+ Precondition: we have exclusive access to the TSO, via the same set
+ of conditions as throwToSingleThreaded() (c.f.).
-------------------------------------------------------------------------- */
static void
@@ -606,9 +602,6 @@ removeFromQueues(Capability *cap, StgTSO *tso)
goto done;
case BlockedOnBlackHole:
- // we have exclusive access to this TSO, which implies that we
- // must hold sched_mutex:
- ASSERT_LOCK_HELD(&sched_mutex);
removeThreadFromQueue(cap, &blackhole_queue, tso);
goto done;