summaryrefslogtreecommitdiff
path: root/lib/tevent/tevent.c
diff options
context:
space:
mode:
authorBo Yang <boyang@samba.org>2010-02-09 17:02:20 +0800
committerBo Yang <boyang@samba.org>2010-02-09 17:05:58 +0800
commit8c8bb51de1ac2baa46ac0736fae12c034288e5d4 (patch)
tree7a37d822aaa418e21e95ec1187cdc68df3e1e3d7 /lib/tevent/tevent.c
parent2aff1d6bcaba6d1bcc9bace064dd4b70c38a4bf6 (diff)
downloadsamba-8c8bb51de1ac2baa46ac0736fae12c034288e5d4.tar.gz
samba-8c8bb51de1ac2baa46ac0736fae12c034288e5d4.tar.bz2
samba-8c8bb51de1ac2baa46ac0736fae12c034288e5d4.zip
s3: signals are processed twice in child.
Signed-off-by: Bo Yang <boyang@samba.org>
Diffstat (limited to 'lib/tevent/tevent.c')
-rw-r--r--lib/tevent/tevent.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/tevent/tevent.c b/lib/tevent/tevent.c
index 56d0da3927..a0ee208663 100644
--- a/lib/tevent/tevent.c
+++ b/lib/tevent/tevent.c
@@ -176,6 +176,13 @@ int tevent_common_context_destructor(struct tevent_context *ev)
sn = se->next;
se->event_ctx = NULL;
DLIST_REMOVE(ev->signal_events, se);
+ /*
+ * This is important, Otherwise signals
+ * are handled twice in child. eg, SIGHUP.
+ * one added in parent, and another one in
+ * the child. -- BoYang
+ */
+ tevent_cleanup_pending_signal_handlers(se);
}
return 0;