diff options
author | Simon Marlow <marlowsd@gmail.com> | 2014-07-31 10:00:16 +0100 |
---|---|---|
committer | Simon Marlow <marlowsd@gmail.com> | 2014-08-01 12:45:41 +0100 |
commit | 9d9a55469719908bbd5cd3277e0ac79c0588dc55 (patch) | |
tree | 64ac687c7eaae1518d20e180d6d71ae04f4671ef /rts/RaiseAsync.h | |
parent | 6483b8ab7c5cb4dc3d06b2069dcd44fabe400858 (diff) | |
download | haskell-9d9a55469719908bbd5cd3277e0ac79c0588dc55.tar.gz |
interruptible() was not returning true for BlockedOnSTM (#9379)
Summary:
There's an knock-on fix in HeapStackCheck.c which is potentially
scary, but I'm pretty confident is OK. See comment for details.
Test Plan:
I've run all the STM
tests I can find, including libraries/stm/tests/stm049 with +RTS -N8
and some of the constants bumped to make it more of a stress test.
Reviewers: hvr, rwbarton, austin
Subscribers: simonmar, relrod, ezyang, carter
Differential Revision: https://phabricator.haskell.org/D104
GHC Trac Issues: #9379
Diffstat (limited to 'rts/RaiseAsync.h')
-rw-r--r-- | rts/RaiseAsync.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/rts/RaiseAsync.h b/rts/RaiseAsync.h index fabdc78cee..d0c9efcbee 100644 --- a/rts/RaiseAsync.h +++ b/rts/RaiseAsync.h @@ -52,6 +52,7 @@ interruptible(StgTSO *t) { switch (t->why_blocked) { case BlockedOnMVar: + case BlockedOnSTM: case BlockedOnMVarRead: case BlockedOnMsgThrowTo: case BlockedOnRead: |