From 14503a65ec81ae15a05633b0aea6e62e35b021f3 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Tue, 23 Jan 2007 22:28:21 +0000 Subject: r20984: Try to ensure we can't have sig_state dissapear before se. I think this happens when both are eventual children of the autofree context. (Trying to track down a valgrind error on fort). Andrew Bartlett (This used to be commit aee751497ca738fa0de72dd0748590a74d5af2fd) --- source4/lib/events/events_signal.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'source4/lib/events') diff --git a/source4/lib/events/events_signal.c b/source4/lib/events/events_signal.c index 2c18a677b1..9a8ebea6ae 100644 --- a/source4/lib/events/events_signal.c +++ b/source4/lib/events/events_signal.c @@ -171,6 +171,11 @@ struct signal_event *common_event_add_signal(struct event_context *ev, se->private_data = private_data; se->signum = signum; se->sa_flags = sa_flags; + + /* Ensure, no matter the destruction order, that we always have a handle on the global sig_state */ + if (!talloc_reference(se, sig_state)) { + return NULL; + } /* only install a signal handler if not already installed */ if (sig_state->sig_handlers[signum] == NULL) { -- cgit