summaryrefslogtreecommitdiff
path: root/rts
diff options
context:
space:
mode:
authorIan Lynagh <igloo@earth.li>2008-06-21 14:45:28 +0000
committerIan Lynagh <igloo@earth.li>2008-06-21 14:45:28 +0000
commit179a3a7bd67ccc816e3b934eff770fb49c4cc456 (patch)
treeac5b175be0aac2f14c842dc04f94406209f514fe /rts
parent1c7a841f836d3be3e21af98dd7a84079ad1096b3 (diff)
downloadhaskell-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.def2
-rw-r--r--rts/Prelude.h4
-rw-r--r--rts/Schedule.c4
-rw-r--r--rts/package.conf.in4
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"