aboutsummaryrefslogtreecommitdiff
path: root/src/xz/signals.c
diff options
context:
space:
mode:
authorLasse Collin <lasse.collin@tukaani.org>2010-10-11 21:26:19 +0300
committerLasse Collin <lasse.collin@tukaani.org>2010-10-11 21:26:19 +0300
commitac462b1c47c451f5c62e428306314c4bdad8ae7f (patch)
treebf09e60c23a0ada2d365ebb8e1fa141b25ed4321 /src/xz/signals.c
parentxz: Use "%"PRIu32 instead of "%d" in a format string. (diff)
downloadxz-ac462b1c47c451f5c62e428306314c4bdad8ae7f.tar.xz
xz: Avoid SA_RESTART for portability reasons.
SA_RESTART is not as portable as I had hoped. It's missing at least from OpenVMS, QNX, and DJGPP). Luckily we can do fine without SA_RESTART.
Diffstat (limited to '')
-rw-r--r--src/xz/signals.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/xz/signals.c b/src/xz/signals.c
index 7e65b2a3..ff524d18 100644
--- a/src/xz/signals.c
+++ b/src/xz/signals.c
@@ -71,6 +71,12 @@ signals_init(void)
for (size_t i = 0; i < ARRAY_SIZE(sigs); ++i)
sigaddset(&hooked_signals, sigs[i]);
+#ifdef SIGALRM
+ // Add also the signals from message.c to hooked_signals.
+ for (size_t i = 0; message_progress_sigs[i] != 0; ++i)
+ sigaddset(&hooked_signals, message_progress_sigs[i]);
+#endif
+
struct sigaction sa;
// All the signals that we handle we also blocked while the signal