summaryrefslogtreecommitdiff
path: root/rts/posix/Signals.c
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2009-04-23 11:29:39 +0000
committerSimon Marlow <marlowsd@gmail.com>2009-04-23 11:29:39 +0000
commite06849a10aedcd41edd5b32d6f7a0c1d133f0500 (patch)
tree2635dbd868e52d3a04f85bc47e1ee23ce85932bf /rts/posix/Signals.c
parent4d926e46bacf11ba9d7714c3f36f507c67fef0ba (diff)
downloadhaskell-e06849a10aedcd41edd5b32d6f7a0c1d133f0500.tar.gz
don't overwrite io_manager_pipe if it is already set
Part of the fix for #3171
Diffstat (limited to 'rts/posix/Signals.c')
-rw-r--r--rts/posix/Signals.c4
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)