diff options
author | Ben Gamari <ben@smart-cactus.org> | 2022-05-03 15:08:45 -0400 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2022-05-19 04:57:51 -0400 |
commit | cfc8e2e2e3c9d9044f8f4d100c102b005695905f (patch) | |
tree | 5aca3d8e9be99bfa81581f949c529b47c45a87ec /rts | |
parent | 828fbd8ac79c6a163584bd4aed25bef6db4a2a4a (diff) | |
download | haskell-cfc8e2e2e3c9d9044f8f4d100c102b005695905f.tar.gz |
base: Introduce [sg]etFinalizerExceptionHandler
This introduces a global hook which is called when an exception is
thrown during finalization.
Diffstat (limited to 'rts')
-rw-r--r-- | rts/Prelude.h | 3 | ||||
-rw-r--r-- | rts/package.conf.in | 4 | ||||
-rw-r--r-- | rts/rts.cabal.in | 4 | ||||
-rw-r--r-- | rts/win32/libHSbase.def | 2 |
4 files changed, 7 insertions, 6 deletions
diff --git a/rts/Prelude.h b/rts/Prelude.h index 5f1e070e33..2a935f9f90 100644 --- a/rts/Prelude.h +++ b/rts/Prelude.h @@ -34,6 +34,7 @@ PRELUDE_CLOSURE(ghczmprim_GHCziTypes_True_closure); PRELUDE_CLOSURE(ghczmprim_GHCziTypes_False_closure); PRELUDE_CLOSURE(base_GHCziPack_unpackCString_closure); PRELUDE_CLOSURE(base_GHCziWeak_runFinalizzerBatch_closure); +PRELUDE_CLOSURE(base_GHCziWeakziFinalizze_runFinalizzerBatch_closure); #if defined(IN_STG_CODE) extern W_ ZCMain_main_closure[]; @@ -91,7 +92,7 @@ PRELUDE_INFO(base_GHCziStable_StablePtr_con_info); #define True_closure DLL_IMPORT_DATA_REF(ghczmprim_GHCziTypes_True_closure) #define False_closure DLL_IMPORT_DATA_REF(ghczmprim_GHCziTypes_False_closure) #define unpackCString_closure DLL_IMPORT_DATA_REF(base_GHCziPack_unpackCString_closure) -#define runFinalizerBatch_closure DLL_IMPORT_DATA_REF(base_GHCziWeak_runFinalizzerBatch_closure) +#define runFinalizerBatch_closure DLL_IMPORT_DATA_REF(base_GHCziWeakziFinalizze_runFinalizzerBatch_closure) #define mainIO_closure (&ZCMain_main_closure) #define runSparks_closure DLL_IMPORT_DATA_REF(base_GHCziConcziSync_runSparks_closure) diff --git a/rts/package.conf.in b/rts/package.conf.in index cb5a436f5c..248b6b9c57 100644 --- a/rts/package.conf.in +++ b/rts/package.conf.in @@ -89,7 +89,7 @@ ld-options: , "-Wl,-u,_ghczmprim_GHCziTypes_True_closure" , "-Wl,-u,_ghczmprim_GHCziTypes_False_closure" , "-Wl,-u,_base_GHCziPack_unpackCString_closure" - , "-Wl,-u,_base_GHCziWeak_runFinalizzerBatch_closure" + , "-Wl,-u,_base_GHCziWeakziFinalizze_runFinalizzerBatch_closure" , "-Wl,-u,_base_GHCziIOziException_stackOverflow_closure" , "-Wl,-u,_base_GHCziIOziException_heapOverflow_closure" , "-Wl,-u,_base_GHCziIOziException_allocationLimitExceeded_closure" @@ -202,7 +202,7 @@ ld-options: , "-Wl,-u,ghczmprim_GHCziTypes_True_closure" , "-Wl,-u,ghczmprim_GHCziTypes_False_closure" , "-Wl,-u,base_GHCziPack_unpackCString_closure" - , "-Wl,-u,base_GHCziWeak_runFinalizzerBatch_closure" + , "-Wl,-u,base_GHCziWeakziFinalizze_runFinalizzerBatch_closure" , "-Wl,-u,base_GHCziIOziException_stackOverflow_closure" , "-Wl,-u,base_GHCziIOziException_heapOverflow_closure" , "-Wl,-u,base_GHCziIOziException_allocationLimitExceeded_closure" diff --git a/rts/rts.cabal.in b/rts/rts.cabal.in index cc449ee522..96989ee750 100644 --- a/rts/rts.cabal.in +++ b/rts/rts.cabal.in @@ -257,7 +257,7 @@ library "-Wl,-u,_ghczmprim_GHCziTypes_True_closure" "-Wl,-u,_ghczmprim_GHCziTypes_False_closure" "-Wl,-u,_base_GHCziPack_unpackCString_closure" - "-Wl,-u,_base_GHCziWeak_runFinalizzerBatch_closure" + "-Wl,-u,_base_GHCziWeakziFinalizze_runFinalizzerBatch_closure" "-Wl,-u,_base_GHCziIOziException_stackOverflow_closure" "-Wl,-u,_base_GHCziIOziException_heapOverflow_closure" "-Wl,-u,_base_GHCziIOziException_allocationLimitExceeded_closure" @@ -340,7 +340,7 @@ library "-Wl,-u,ghczmprim_GHCziTypes_True_closure" "-Wl,-u,ghczmprim_GHCziTypes_False_closure" "-Wl,-u,base_GHCziPack_unpackCString_closure" - "-Wl,-u,base_GHCziWeak_runFinalizzerBatch_closure" + "-Wl,-u,base_GHCziWeakziFinalizze_runFinalizzerBatch_closure" "-Wl,-u,base_GHCziIOziException_stackOverflow_closure" "-Wl,-u,base_GHCziIOziException_heapOverflow_closure" "-Wl,-u,base_GHCziIOziException_allocationLimitExceeded_closure" diff --git a/rts/win32/libHSbase.def b/rts/win32/libHSbase.def index cb9c32729e..e91d11a688 100644 --- a/rts/win32/libHSbase.def +++ b/rts/win32/libHSbase.def @@ -34,7 +34,7 @@ EXPORTS base_GHCziTopHandler_flushStdHandles_closure - base_GHCziWeak_runFinalizzerBatch_closure + base_GHCziWeakziFinalizze_runFinalizzerBatch_closure base_GHCziPack_unpackCString_closure base_GHCziIOziException_blockedIndefinitelyOnMVar_closure base_GHCziIOziException_blockedIndefinitelyOnSTM_closure |