events_signal: pass down the correct siginfo_t struct to the event handler
authorStefan Metzmacher <metze@samba.org>
Mon, 10 Mar 2008 11:46:17 +0000 (12:46 +0100)
committerStefan Metzmacher <metze@samba.org>
Tue, 11 Mar 2008 19:16:51 +0000 (20:16 +0100)
metze
(This used to be commit 4b071236867ca5c2c0451ad3acc8a9debb0549e4)

source4/lib/events/events_signal.c

index aec34339c363c701c5bbbb3e659307ac36c94700..c0771cbe01fd6ede8f84dc770d999905cb4fc3cf 100644 (file)
@@ -257,7 +257,7 @@ int common_event_check_signal(struct event_context *ev)
                                for (j=0;j<count;j++) {
                                        /* note the use of the sig_info array as a
                                           ring buffer */
                                for (j=0;j<count;j++) {
                                        /* note the use of the sig_info array as a
                                           ring buffer */
-                                       int ofs = (counter.count + j) % SA_INFO_QUEUE_COUNT;
+                                       int ofs = ((count-1) + j) % SA_INFO_QUEUE_COUNT;
                                        se->handler(ev, se, i, 1, 
                                                    (void*)&sig_state->sig_info[i][ofs], 
                                                    se->private_data);
                                        se->handler(ev, se, i, 1, 
                                                    (void*)&sig_state->sig_info[i][ofs], 
                                                    se->private_data);