diff options
author | Ian Lynagh <igloo@earth.li> | 2008-06-21 14:45:28 +0000 |
---|---|---|
committer | Ian Lynagh <igloo@earth.li> | 2008-06-21 14:45:28 +0000 |
commit | 179a3a7bd67ccc816e3b934eff770fb49c4cc456 (patch) | |
tree | ac5b175be0aac2f14c842dc04f94406209f514fe /rts | |
parent | 1c7a841f836d3be3e21af98dd7a84079ad1096b3 (diff) | |
download | haskell-179a3a7bd67ccc816e3b934eff770fb49c4cc456.tar.gz |
When raising NonTermination with the RTS, build the right value
We now use a nonTermination value in the base library to take take of
constructing the SomeException value, with the dictionaries etc, for us.
We'll probably need to do the same for some other exceptions too
Diffstat (limited to 'rts')
-rw-r--r-- | rts/HSprel.def | 2 | ||||
-rw-r--r-- | rts/Prelude.h | 4 | ||||
-rw-r--r-- | rts/Schedule.c | 4 | ||||
-rw-r--r-- | rts/package.conf.in | 4 |
4 files changed, 7 insertions, 7 deletions
diff --git a/rts/HSprel.def b/rts/HSprel.def index 0ffe00b48c..3189c82291 100644 --- a/rts/HSprel.def +++ b/rts/HSprel.def @@ -23,6 +23,6 @@ PrelPack_unpackCString_closure PrelIOBase_stackOverflow_closure PrelIOBase_BlockedOnDeadMVar_closure PrelIOBase_BlockedIndefinitely_closure -PrelIOBase_NonTermination_closure +PrelIOBase_nonTermination_closure PrelWeak_runFinalizzerBatch_closure __stginit_Prelude diff --git a/rts/Prelude.h b/rts/Prelude.h index f237e59bea..2acd02dfd1 100644 --- a/rts/Prelude.h +++ b/rts/Prelude.h @@ -39,7 +39,7 @@ PRELUDE_CLOSURE(base_GHCziIOBase_stackOverflow_closure); PRELUDE_CLOSURE(base_GHCziIOBase_heapOverflow_closure); PRELUDE_CLOSURE(base_GHCziIOBase_BlockedOnDeadMVar_closure); PRELUDE_CLOSURE(base_GHCziIOBase_BlockedIndefinitely_closure); -PRELUDE_CLOSURE(base_GHCziIOBase_NonTermination_closure); +PRELUDE_CLOSURE(base_GHCziIOBase_nonTermination_closure); PRELUDE_CLOSURE(base_GHCziIOBase_NestedAtomically_closure); PRELUDE_CLOSURE(base_GHCziConc_ensureIOManagerIsRunning_closure); @@ -89,7 +89,7 @@ PRELUDE_INFO(base_GHCziStable_StablePtr_con_info); #define heapOverflow_closure DLL_IMPORT_DATA_REF(base_GHCziIOBase_heapOverflow_closure) #define BlockedOnDeadMVar_closure DLL_IMPORT_DATA_REF(base_GHCziIOBase_BlockedOnDeadMVar_closure) #define BlockedIndefinitely_closure DLL_IMPORT_DATA_REF(base_GHCziIOBase_BlockedIndefinitely_closure) -#define NonTermination_closure DLL_IMPORT_DATA_REF(base_GHCziIOBase_NonTermination_closure) +#define nonTermination_closure DLL_IMPORT_DATA_REF(base_GHCziIOBase_nonTermination_closure) #define NestedAtomically_closure DLL_IMPORT_DATA_REF(base_GHCziIOBase_NestedAtomically_closure) #define Czh_static_info DLL_IMPORT_DATA_REF(base_GHCziBase_Czh_static_info) diff --git a/rts/Schedule.c b/rts/Schedule.c index 96c52f5350..a9ea81bbe4 100644 --- a/rts/Schedule.c +++ b/rts/Schedule.c @@ -1021,7 +1021,7 @@ scheduleDetectDeadlock (Capability *cap, Task *task) case BlockedOnException: case BlockedOnMVar: throwToSingleThreaded(cap, task->tso, - (StgClosure *)NonTermination_closure); + (StgClosure *)nonTermination_closure); return; default: barf("deadlock: main thread blocked in a strange way"); @@ -3156,7 +3156,7 @@ resurrectThreads (StgTSO *threads) break; case BlockedOnBlackHole: throwToSingleThreaded(cap, tso, - (StgClosure *)NonTermination_closure); + (StgClosure *)nonTermination_closure); break; case BlockedOnSTM: throwToSingleThreaded(cap, tso, diff --git a/rts/package.conf.in b/rts/package.conf.in index 557bb99bfb..045ec1f923 100644 --- a/rts/package.conf.in +++ b/rts/package.conf.in @@ -105,7 +105,7 @@ ld-options: , "-u", "_base_GHCziPack_unpackCString_closure" , "-u", "_base_GHCziIOBase_stackOverflow_closure" , "-u", "_base_GHCziIOBase_heapOverflow_closure" - , "-u", "_base_GHCziIOBase_NonTermination_closure" + , "-u", "_base_GHCziIOBase_nonTermination_closure" , "-u", "_base_GHCziIOBase_BlockedOnDeadMVar_closure" , "-u", "_base_GHCziIOBase_BlockedIndefinitely_closure" , "-u", "_base_GHCziIOBase_Deadlock_closure" @@ -139,7 +139,7 @@ ld-options: , "-u", "base_GHCziPack_unpackCString_closure" , "-u", "base_GHCziIOBase_stackOverflow_closure" , "-u", "base_GHCziIOBase_heapOverflow_closure" - , "-u", "base_GHCziIOBase_NonTermination_closure" + , "-u", "base_GHCziIOBase_nonTermination_closure" , "-u", "base_GHCziIOBase_BlockedOnDeadMVar_closure" , "-u", "base_GHCziIOBase_BlockedIndefinitely_closure" , "-u", "base_GHCziIOBase_Deadlock_closure" |