summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2014-05-14 21:10:06 +0100
committerAustin Seipp <austin@well-typed.com>2014-06-03 07:30:52 -0500
commit145632625651deb4a6f8758e838cfbefc32c9096 (patch)
tree3ece6aae76f217b09ff99e6c87c8490b50b347be
parent92d08a6977c3357a47f6061bb71b2ae8d98dae6d (diff)
downloadhaskell-145632625651deb4a6f8758e838cfbefc32c9096.tar.gz
Only uninstall signal handlers if they were actually installed (#9068)
Submitted by: tomgr (cherry picked from commit bc7d49a658a516679cc264502e72560c1d2c2314)
-rw-r--r--rts/RtsStartup.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/rts/RtsStartup.c b/rts/RtsStartup.c
index aa7306f88a..15e48a690d 100644
--- a/rts/RtsStartup.c
+++ b/rts/RtsStartup.c
@@ -355,8 +355,12 @@ hs_exit_(rtsBool wait_foreign)
resetTerminalSettings();
#endif
- // uninstall signal handlers
- resetDefaultHandlers();
+#if defined(RTS_USER_SIGNALS)
+ if (RtsFlags.MiscFlags.install_signal_handlers) {
+ // uninstall signal handlers
+ resetDefaultHandlers();
+ }
+#endif
/* stop timing the shutdown, we're about to print stats */
stat_endExit();