summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2008-07-24 11:48:27 +1000
committerAndrew Tridgell <tridge@samba.org>2008-07-24 11:48:27 +1000
commitb38045f9daa9956d86c036814e74f134ed3c73e8 (patch)
tree34584f6ee0b52a19d68169e1906b3a7ec59296ed
parent853ef0d5ef79b3187bd706f08d842170bc625cfd (diff)
downloadsamba-b38045f9daa9956d86c036814e74f134ed3c73e8.tar.gz
samba-b38045f9daa9956d86c036814e74f134ed3c73e8.tar.bz2
samba-b38045f9daa9956d86c036814e74f134ed3c73e8.zip
fixd a bug in the signal handling code - we could get phantom signals
(signum 64) (This used to be commit af7fb2e38ba27cf8058eb1cef1f96bbc7b19849f)
-rw-r--r--source4/lib/events/events_signal.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/source4/lib/events/events_signal.c b/source4/lib/events/events_signal.c
index 80a14acc11..652df53d4b 100644
--- a/source4/lib/events/events_signal.c
+++ b/source4/lib/events/events_signal.c
@@ -46,15 +46,15 @@ struct sigcounter {
the poor design of signals means that this table must be static global
*/
static struct sig_state {
- struct signal_event *sig_handlers[NUM_SIGNALS];
- struct sigaction *oldact[NUM_SIGNALS];
- struct sigcounter signal_count[NUM_SIGNALS];
+ struct signal_event *sig_handlers[NUM_SIGNALS+1];
+ struct sigaction *oldact[NUM_SIGNALS+1];
+ struct sigcounter signal_count[NUM_SIGNALS+1];
struct sigcounter got_signal;
int pipe_hack[2];
#ifdef SA_SIGINFO
/* with SA_SIGINFO we get quite a lot of info per signal */
- siginfo_t *sig_info[NUM_SIGNALS];
- struct sigcounter sig_blocked[NUM_SIGNALS];
+ siginfo_t *sig_info[NUM_SIGNALS+1];
+ struct sigcounter sig_blocked[NUM_SIGNALS+1];
#endif
} *sig_state;