From 7ca5bb090ff78141fbe275b058a9e35ee496bd58 Mon Sep 17 00:00:00 2001 From: Marios Titas Date: Wed, 10 Dec 2014 04:17:22 -0600 Subject: 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 --- rts/posix/Signals.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'rts/posix') diff --git a/rts/posix/Signals.c b/rts/posix/Signals.c index 36a72a5c8e..44bd0b6d9c 100644 --- a/rts/posix/Signals.c +++ b/rts/posix/Signals.c @@ -473,7 +473,7 @@ startSignalHandlers(Capability *cap) RtsFlags.GcFlags.initialStkSize, rts_apply(cap, rts_apply(cap, - &base_GHCziConcziSignal_runHandlers_closure, + &base_GHCziConcziSignal_runHandlersPtr_closure, rts_mkPtr(cap, info)), rts_mkInt(cap, info->si_signo)))); } -- cgit v1.2.1