diff options
author | Marios Titas <geopoul@gmail.com> | 2014-12-10 04:17:22 -0600 |
---|---|---|
committer | Austin Seipp <austin@well-typed.com> | 2014-12-10 04:20:08 -0600 |
commit | 7ca5bb090ff78141fbe275b058a9e35ee496bd58 (patch) | |
tree | 8c2c9f635746ad42f40e216f1fdea5ae4deea3ac /rts/Prelude.h | |
parent | 4d1c452daf54e0ed04ee66d6d3ea9078924afd51 (diff) | |
download | haskell-7ca5bb090ff78141fbe275b058a9e35ee496bd58.tar.gz |
compiler: fix trac issue #9817
Summary:
When we call runHandlers, we must pass it a ForeignPtr. To ensure that
this happens, we introduce a wrapper that receives a plain Ptr and
converts it into a ForeignPtr. Then we adjust startSignalHandlers in
rts/posix/Signals.c to call the wrapper instead of calling runHandlers
directly.
Reviewers: hvr, austin, rwbarton, simonmar
Reviewed By: austin, simonmar
Subscribers: simonmar, thomie, carter
Differential Revision: https://phabricator.haskell.org/D515
GHC Trac Issues: #9817
Diffstat (limited to 'rts/Prelude.h')
-rw-r--r-- | rts/Prelude.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/rts/Prelude.h b/rts/Prelude.h index 614c255af5..ae1e9cb266 100644 --- a/rts/Prelude.h +++ b/rts/Prelude.h @@ -48,7 +48,7 @@ PRELUDE_CLOSURE(base_GHCziEventziThread_blockedOnBadFD_closure); PRELUDE_CLOSURE(base_GHCziConcziSync_runSparks_closure); PRELUDE_CLOSURE(base_GHCziConcziIO_ensureIOManagerIsRunning_closure); PRELUDE_CLOSURE(base_GHCziConcziIO_ioManagerCapabilitiesChanged_closure); -PRELUDE_CLOSURE(base_GHCziConcziSignal_runHandlers_closure); +PRELUDE_CLOSURE(base_GHCziConcziSignal_runHandlersPtr_closure); PRELUDE_CLOSURE(base_GHCziTopHandler_flushStdHandles_closure); @@ -96,7 +96,7 @@ PRELUDE_INFO(base_GHCziStable_StablePtr_con_info); #define runSparks_closure DLL_IMPORT_DATA_REF(base_GHCziConcziSync_runSparks_closure) #define ensureIOManagerIsRunning_closure DLL_IMPORT_DATA_REF(base_GHCziConcziIO_ensureIOManagerIsRunning_closure) #define ioManagerCapabilitiesChanged_closure DLL_IMPORT_DATA_REF(base_GHCziConcziIO_ioManagerCapabilitiesChanged_closure) -#define runHandlers_closure DLL_IMPORT_DATA_REF(base_GHCziConcziSignal_runHandlers_closure) +#define runHandlersPtr_closure DLL_IMPORT_DATA_REF(base_GHCziConcziSignal_runHandlersPtr_closure) #define flushStdHandles_closure DLL_IMPORT_DATA_REF(base_GHCziTopHandler_flushStdHandles_closure) |