diff options
author | Simon Marlow <marlowsd@gmail.com> | 2009-11-06 14:05:27 +0000 |
---|---|---|
committer | Simon Marlow <marlowsd@gmail.com> | 2009-11-06 14:05:27 +0000 |
commit | c3685050fd288d928c4e26fb2e43fc33e304391c (patch) | |
tree | cea68c62071287793c4b76000f779f5b97b58d51 /rts/posix/Signals.c | |
parent | 3035c581282adb24ae1f63c5bc970cfa5c2292ce (diff) | |
download | haskell-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.c | 8 |
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); } } |