From 2d21fe079fb57e55d9bac0c69d8527013bf4fbc7 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Fri, 22 Jul 2011 14:55:32 +1000 Subject: s4-messaging: fixed the removal of messaging sockets in child tasks when a child task exits we were firing a destructor on any inherited messaging contexts, which could trigger a removal of the parents message socket and messaging database entry. This adds a new auto_remove flag to imessaging_init(), and exposes the cleanup code for use by the stream service. Pair-Programmed-With: Andrew Bartlett Autobuild-User: Andrew Tridgell Autobuild-Date: Fri Jul 22 08:09:06 CEST 2011 on sn-devel-104 --- source4/lib/messaging/tests/irpc.c | 4 ++-- source4/lib/messaging/tests/messaging.c | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) (limited to 'source4/lib/messaging/tests') diff --git a/source4/lib/messaging/tests/irpc.c b/source4/lib/messaging/tests/irpc.c index cfa2bcb91e..554a7efa99 100644 --- a/source4/lib/messaging/tests/irpc.c +++ b/source4/lib/messaging/tests/irpc.c @@ -249,14 +249,14 @@ static bool irpc_setup(struct torture_context *tctx, void **_data) imessaging_init(tctx, lpcfg_imessaging_path(tctx, tctx->lp_ctx), cluster_id(0, MSG_ID1), - data->ev), + data->ev, true), "Failed to init first messaging context"); torture_assert(tctx, data->msg_ctx2 = imessaging_init(tctx, lpcfg_imessaging_path(tctx, tctx->lp_ctx), cluster_id(0, MSG_ID2), - data->ev), + data->ev, true), "Failed to init second messaging context"); /* register the server side function */ diff --git a/source4/lib/messaging/tests/messaging.c b/source4/lib/messaging/tests/messaging.c index 38c34fc52e..c5d37953d0 100644 --- a/source4/lib/messaging/tests/messaging.c +++ b/source4/lib/messaging/tests/messaging.c @@ -72,8 +72,8 @@ static bool test_ping_speed(struct torture_context *tctx) ev = tctx->ev; msg_server_ctx = imessaging_init(tctx, - lpcfg_imessaging_path(tctx, tctx->lp_ctx), cluster_id(0, 1), - ev); + lpcfg_imessaging_path(tctx, tctx->lp_ctx), cluster_id(0, 1), + ev, true); torture_assert(tctx, msg_server_ctx != NULL, "Failed to init ping messaging context"); @@ -81,9 +81,9 @@ static bool test_ping_speed(struct torture_context *tctx) imessaging_register_tmp(msg_server_ctx, tctx, exit_message, &msg_exit); msg_client_ctx = imessaging_init(tctx, - lpcfg_imessaging_path(tctx, tctx->lp_ctx), - cluster_id(0, 2), - ev); + lpcfg_imessaging_path(tctx, tctx->lp_ctx), + cluster_id(0, 2), + ev, true); torture_assert(tctx, msg_client_ctx != NULL, "msg_client_ctx imessaging_init() failed"); -- cgit