summaryrefslogtreecommitdiff
path: root/rts/posix/Signals.c
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2009-11-06 14:05:27 +0000
committerSimon Marlow <marlowsd@gmail.com>2009-11-06 14:05:27 +0000
commitc3685050fd288d928c4e26fb2e43fc33e304391c (patch)
treecea68c62071287793c4b76000f779f5b97b58d51 /rts/posix/Signals.c
parent3035c581282adb24ae1f63c5bc970cfa5c2292ce (diff)
downloadhaskell-c3685050fd288d928c4e26fb2e43fc33e304391c.tar.gz
Rollback #1185 fix
As far as I can tell, the hack I was using in rts/Linker.c won't work on OS X. Back to the drawing board. rolling back: Tue Nov 3 16:05:47 GMT 2009 Simon Marlow <marlowsd@gmail.com> * Fix #1185 (RTS part, also needs corresponding change to libraries/base) GHC.Conc.ensureIOManagerIsRunning now creates an IO manager thread if one does not exist or has died/exited. Unfortunately this exposed a problem caused by the fact that we have two base packages, and hence two IO managers, in GHCi: see NOTE [io-manager-ghci] in rts/Linker.c. The workaround can go away if/when we switch to a dynamically linked GHCi. M ./rts/Linker.c -6 +47 M ./rts/Schedule.c +4 M ./rts/package.conf.in +16 M ./rts/posix/Signals.c -1 +7 M ./rts/posix/Signals.h +2 Wed Nov 4 10:11:03 GMT 2009 Simon Marlow <marlowsd@gmail.com> * hopefully fix validate breakage on OS X and Windows M ./rts/Linker.c -1 +1 Wed Nov 4 16:27:40 GMT 2009 Simon Marlow <marlowsd@gmail.com> * fix build failure on Windows M ./rts/Linker.c -1 +1
Diffstat (limited to 'rts/posix/Signals.c')
-rw-r--r--rts/posix/Signals.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/rts/posix/Signals.c b/rts/posix/Signals.c
index aa7877452b..660065734b 100644
--- a/rts/posix/Signals.c
+++ b/rts/posix/Signals.c
@@ -124,12 +124,6 @@ ioManagerDie (void)
}
}
-Capability *
-ioManagerStartCap (Capability *cap)
-{
- return rts_evalIO(cap,&base_GHCziConc_ensureIOManagerIsRunning_closure,NULL);
-}
-
void
ioManagerStart (void)
{
@@ -137,7 +131,7 @@ ioManagerStart (void)
Capability *cap;
if (io_manager_pipe < 0) {
cap = rts_lock();
- cap = ioManagerStartCap(cap);
+ cap = rts_evalIO(cap,&base_GHCziConc_ensureIOManagerIsRunning_closure,NULL);
rts_unlock(cap);
}
}