about summary refs log tree commit diff
path: root/Src/signals.h
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2007-05-01 09:35:04 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2007-05-01 09:35:04 +0000
commit6e5279f8b4ba43133cf1db1f76b8e536da98797d (patch)
treee4cbc45db2250c6cac01a76ab30f5ccf87ee59ac /Src/signals.h
parent19dccc355a3a6316a60abdb739bbec7f9ce9a362 (diff)
downloadzsh-6e5279f8b4ba43133cf1db1f76b8e536da98797d.tar.gz
zsh-6e5279f8b4ba43133cf1db1f76b8e536da98797d.tar.xz
zsh-6e5279f8b4ba43133cf1db1f76b8e536da98797d.zip
Guillaume Chazarain: 23364: fix race in POSIX signal blocking
by using local variables
Diffstat (limited to 'Src/signals.h')
-rw-r--r--Src/signals.h24
1 files changed, 4 insertions, 20 deletions
diff --git a/Src/signals.h b/Src/signals.h
index 999040908..9541a1a02 100644
--- a/Src/signals.h
+++ b/Src/signals.h
@@ -100,26 +100,10 @@
 
 #define restore_queue_signals(q) (queueing_enabled = (q))
 
-/* Make some signal functions faster. */
-
-#ifdef POSIX_SIGNALS
-#define signal_block(S) \
-    ((dummy_sigset1 = (S)), \
-     sigprocmask(SIG_BLOCK, &dummy_sigset1, &dummy_sigset2), \
-     dummy_sigset2)
-#else
-# ifdef BSD_SIGNALS
+#ifdef BSD_SIGNALS
 #define signal_block(S) sigblock(S)
-# else
-extern sigset_t signal_block _((sigset_t));
-# endif  /* BSD_SIGNALS   */
-#endif   /* POSIX_SIGNALS */
-
-#ifdef POSIX_SIGNALS
-#define signal_unblock(S) \
-    ((dummy_sigset1 = (S)), \
-     sigprocmask(SIG_UNBLOCK, &dummy_sigset1, &dummy_sigset2), \
-     dummy_sigset2)
 #else
+extern sigset_t signal_block _((sigset_t));
+#endif  /* BSD_SIGNALS   */
+
 extern sigset_t signal_unblock _((sigset_t));
-#endif   /* POSIX_SIGNALS */