summaryrefslogtreecommitdiff
path: root/source4/lib/events/events.c
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2007-01-21 10:32:39 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 14:43:55 -0500
commitcf8eef4ad88af40d2cf147686c1877cd380b452c (patch)
treecab75b7549dde223cbb1ff6a185c9f7ce7a65b87 /source4/lib/events/events.c
parentc6174d5d6f9b2cfc29a1886a79ae72b5ab764c55 (diff)
downloadsamba-cf8eef4ad88af40d2cf147686c1877cd380b452c.tar.gz
samba-cf8eef4ad88af40d2cf147686c1877cd380b452c.tar.bz2
samba-cf8eef4ad88af40d2cf147686c1877cd380b452c.zip
r20930: use sigaction() instead of signal()
add support for sa_flags argument to event_add_signal(). These are passed to sigaction(). Special handling is provided for SA_RESETHAND (which tells the event system to remove the handler after the signal) and SA_SIGINFO which allows the siginfo structure to be received per signal (This used to be commit 1bb10b6cf7d717ad21834e73a4ca4b22b5fb6f0a)
Diffstat (limited to 'source4/lib/events/events.c')
-rw-r--r--source4/lib/events/events.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/source4/lib/events/events.c b/source4/lib/events/events.c
index 2a6da1370f..e2d5b4c397 100644
--- a/source4/lib/events/events.c
+++ b/source4/lib/events/events.c
@@ -241,14 +241,18 @@ struct timed_event *event_add_timed(struct event_context *ev, TALLOC_CTX *mem_ct
/*
add a signal event
+
+ sa_flags are flags to sigaction(2)
+
return NULL on failure
*/
struct signal_event *event_add_signal(struct event_context *ev, TALLOC_CTX *mem_ctx,
int signum,
+ int sa_flags,
event_signal_handler_t handler,
void *private_data)
{
- return ev->ops->add_signal(ev, mem_ctx, signum, handler, private_data);
+ return ev->ops->add_signal(ev, mem_ctx, signum, sa_flags, handler, private_data);
}
/*