From cf8eef4ad88af40d2cf147686c1877cd380b452c Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Sun, 21 Jan 2007 10:32:39 +0000 Subject: 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) --- source4/lib/events/events_internal.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'source4/lib/events/events_internal.h') diff --git a/source4/lib/events/events_internal.h b/source4/lib/events/events_internal.h index 0b8de12a35..39fade2fdb 100644 --- a/source4/lib/events/events_internal.h +++ b/source4/lib/events/events_internal.h @@ -50,7 +50,7 @@ struct event_ops { /* signal functions */ struct signal_event *(*add_signal)(struct event_context *ev, TALLOC_CTX *mem_ctx, - int signum, + int signum, int sa_flags, event_signal_handler_t handler, void *private_data); @@ -89,6 +89,7 @@ struct signal_event { event_signal_handler_t handler; void *private_data; int signum; + int sa_flags; }; /* aio event is private to the aio backend */ @@ -122,6 +123,7 @@ struct timeval common_event_loop_delay(struct event_context *); struct signal_event *common_event_add_signal(struct event_context *ev, TALLOC_CTX *mem_ctx, int signum, + int sa_flags, event_signal_handler_t handler, void *private_data); int common_event_check_signal(struct event_context *ev); -- cgit