summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2020-02-04 15:44:39 -0500
committerBen Gamari <ben@smart-cactus.org>2020-02-05 16:48:40 -0500
commit1433b124552e21b8d5a89108e4035b3bea6f07bb (patch)
tree9a0bbba2b908fa1dd03742ca6898ed4fc0b97822
parent97d0b0a367e4c6a52a17c3299439ac7de129da24 (diff)
downloadhaskell-wip/throwToSelf-blocking.tar.gz
rts: Remove incorrect assertions around MSG_THROWTO messageswip/throwToSelf-blocking
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) {