summaryrefslogtreecommitdiff
path: root/source4/lib/events/events_internal.h
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_internal.h
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_internal.h')
-rw-r--r--source4/lib/events/events_internal.h4
1 files changed, 3 insertions, 1 deletions
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);