From 41712599e0f33096ccc81e7cd520e66dcf91a424 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Wed, 15 Feb 2012 13:53:07 +0100 Subject: s3: Add messaging_tdb_event() This is a void* that represents a signal handler attached to some custom tevent_context. This is necessary to make the tdb based messaging infrastructure trigger its business when we are sitting in tevent_loop_once for an event context that is not the main one in the messaging context. --- source3/lib/messages_local.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'source3/lib/messages_local.c') diff --git a/source3/lib/messages_local.c b/source3/lib/messages_local.c index b398870e1f2..e20024ae598 100644 --- a/source3/lib/messages_local.c +++ b/source3/lib/messages_local.c @@ -77,6 +77,16 @@ static void messaging_tdb_signal_handler(struct tevent_context *ev_ctx, message_dispatch(ctx->msg_ctx); } +void *messaging_tdb_event(TALLOC_CTX *mem_ctx, struct messaging_context *msg, + struct tevent_context *ev) +{ + struct messaging_tdb_context *msg_tdb = talloc_get_type_abort( + msg->local->private_data, struct messaging_tdb_context); + + return tevent_add_signal(ev, mem_ctx, SIGUSR1, 0, + messaging_tdb_signal_handler, msg_tdb); +} + /**************************************************************************** Initialise the messaging functions. ****************************************************************************/ -- cgit