diff options
author | Ben Gamari <ben@smart-cactus.org> | 2020-02-04 15:44:39 -0500 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2020-02-05 16:48:40 -0500 |
commit | 1433b124552e21b8d5a89108e4035b3bea6f07bb (patch) | |
tree | 9a0bbba2b908fa1dd03742ca6898ed4fc0b97822 | |
parent | 97d0b0a367e4c6a52a17c3299439ac7de129da24 (diff) | |
download | haskell-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.c | 3 |
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) { |