diff options
author | Simon Marlow <marlowsd@gmail.com> | 2009-04-23 11:29:39 +0000 |
---|---|---|
committer | Simon Marlow <marlowsd@gmail.com> | 2009-04-23 11:29:39 +0000 |
commit | e06849a10aedcd41edd5b32d6f7a0c1d133f0500 (patch) | |
tree | 2635dbd868e52d3a04f85bc47e1ee23ce85932bf /rts | |
parent | 4d926e46bacf11ba9d7714c3f36f507c67fef0ba (diff) | |
download | haskell-e06849a10aedcd41edd5b32d6f7a0c1d133f0500.tar.gz |
don't overwrite io_manager_pipe if it is already set
Part of the fix for #3171
Diffstat (limited to 'rts')
-rw-r--r-- | rts/posix/Signals.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/rts/posix/Signals.c b/rts/posix/Signals.c index c1ffb5d2cf..ace58c2f98 100644 --- a/rts/posix/Signals.c +++ b/rts/posix/Signals.c @@ -95,7 +95,9 @@ setIOManagerPipe (int fd) { // only called when THREADED_RTS, but unconditionally // compiled here because GHC.Conc depends on it. - io_manager_pipe = fd; + if (io_manager_pipe < 0) { + io_manager_pipe = fd; + } } #if defined(THREADED_RTS) |