From 3cd5182735b6c70d45cb5f54252b1c2a5e34ec29 Mon Sep 17 00:00:00 2001 From: Simon Marlow Date: Mon, 17 Dec 2007 16:46:10 +0000 Subject: [PATCH] FIX #1980: must check for ThreadRelocated in killThread# --- rts/Exception.cmm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/rts/Exception.cmm b/rts/Exception.cmm index 6815b79..39a2aba 100644 --- a/rts/Exception.cmm +++ b/rts/Exception.cmm @@ -214,6 +214,11 @@ killThreadzh_fast * If the exception went to a catch frame, we'll just continue from * the handler. */ + loop: + if (StgTSO_what_next(target) == ThreadRelocated::I16) { + target = StgTSO_link(target); + goto loop; + } if (target == CurrentTSO) { SAVE_THREAD_STATE(); /* ToDo: what if the current thread is blocking exceptions? */ -- 1.7.10.4