summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2020-02-04 15:44:39 -0500
committerMarge Bot <ben+marge-bot@smart-cactus.org>2020-02-11 05:09:24 -0500
commitb75e7486de73868e6821a9f680e9e13794dff15c (patch)
treeafad58736658e8b03d9a4a2f2817479c968ef18c
parente319570ec141e0f63d82d23b88a40f96fc0b7105 (diff)
downloadhaskell-b75e7486de73868e6821a9f680e9e13794dff15c.tar.gz
rts: Remove incorrect assertions around MSG_THROWTO messages
Previously we would assert that threads which are sending a `MSG_THROWTO` message must have their blocking status be blocked on the message. In the usual case of a thread throwing to another thread this is guaranteed by `stg_killThreadzh`. However, `throwToSelf`, used by the GC to kill threads which ran out of heap, failed to guarantee this. Noted while debugging #17785.
-rw-r--r--rts/Messages.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/rts/Messages.c b/rts/Messages.c
index 374f3d673e..2f80370845 100644
--- a/rts/Messages.c
+++ b/rts/Messages.c
@@ -92,9 +92,6 @@ loop:
debugTraceCap(DEBUG_sched, cap, "message: throwTo %ld -> %ld",
(W_)t->source->id, (W_)t->target->id);
- ASSERT(t->source->why_blocked == BlockedOnMsgThrowTo);
- ASSERT(t->source->block_info.closure == (StgClosure *)m);
-
r = throwToMsg(cap, t);
switch (r) {