X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FRtsStartup.c;h=85b1c020fb0f31ac14ba5c7ee121f56ca5a79541;hb=2bed45837718c70cee1336c4de9fab7708e7ea96;hp=7193876970c59c87063f1ee84f48fb38236eef46;hpb=ed12b7043fa98928f75c289a756fbcef546315f8;p=ghc-hetmet.git diff --git a/rts/RtsStartup.c b/rts/RtsStartup.c index 7193876..85b1c02 100644 --- a/rts/RtsStartup.c +++ b/rts/RtsStartup.c @@ -255,10 +255,12 @@ hs_init(int *argc, char **argv[]) initStats(); #if defined(RTS_USER_SIGNALS) - /* Initialise the user signal handler set */ - initUserSignals(); - /* Set up handler to run on SIGINT, etc. */ - initDefaultHandlers(); + if (RtsFlags.MiscFlags.install_signal_handlers) { + /* Initialise the user signal handler set */ + initUserSignals(); + /* Set up handler to run on SIGINT, etc. */ + initDefaultHandlers(); + } #endif #if defined(mingw32_HOST_OS) && !defined(THREADED_RTS) @@ -379,7 +381,9 @@ hs_exit(void) stat_startExit(); #if defined(RTS_USER_SIGNALS) - freeSignalHandlers(); + if (RtsFlags.MiscFlags.install_signal_handlers) { + freeSignalHandlers(); + } #endif #if defined(THREADED_RTS) @@ -397,7 +401,7 @@ hs_exit(void) /* stop the ticker */ stopTimer(); - + /* reset the standard file descriptors to blocking mode */ resetNonBlockingFd(0); resetNonBlockingFd(1);