summaryrefslogtreecommitdiffstats
path: root/source3
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2014-07-17 11:01:00 +0000
committerJeremy Allison <jra@samba.org>2014-08-11 23:57:12 +0200
commit32d45cf2f3a0d709f35560f9cc119438a0a5b397 (patch)
tree7b21acf8da035abe68ecda29078846e7830505fe /source3
parentdcd3e2f2dc43875aec0448d74b2e040290338426 (diff)
messaging3: Add messaging_cleanup
Rename smbcontrol's dgm-cleanup to msg-cleanup. We haven't published this UI yet :-) Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
Diffstat (limited to 'source3')
-rw-r--r--source3/include/messages.h2
-rw-r--r--source3/lib/messages.c13
-rw-r--r--source3/utils/smbcontrol.c10
3 files changed, 18 insertions, 7 deletions
diff --git a/source3/include/messages.h b/source3/include/messages.h
index 669d7f1381..32c636f3fa 100644
--- a/source3/include/messages.h
+++ b/source3/include/messages.h
@@ -151,6 +151,8 @@ struct tevent_req *messaging_read_send(TALLOC_CTX *mem_ctx,
int messaging_read_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx,
struct messaging_rec **presult);
+int messaging_cleanup(struct messaging_context *msg_ctx, pid_t pid);
+
bool messaging_parent_dgm_cleanup_init(struct messaging_context *msg);
#include "librpc/gen_ndr/ndr_messaging.h"
diff --git a/source3/lib/messages.c b/source3/lib/messages.c
index 5cb3fdeaa8..78a867adf4 100644
--- a/source3/lib/messages.c
+++ b/source3/lib/messages.c
@@ -928,6 +928,19 @@ static void mess_parent_dgm_cleanup_done(struct tevent_req *req)
tevent_req_set_callback(req, mess_parent_dgm_cleanup_done, msg);
}
+int messaging_cleanup(struct messaging_context *msg_ctx, pid_t pid)
+{
+ int ret;
+
+ if (pid == 0) {
+ ret = messaging_dgm_wipe(msg_ctx);
+ } else {
+ ret = messaging_dgm_cleanup(msg_ctx, pid);
+ }
+
+ return ret;
+}
+
struct messaging_backend *messaging_local_backend(
struct messaging_context *msg_ctx)
{
diff --git a/source3/utils/smbcontrol.c b/source3/utils/smbcontrol.c
index edd2edcb63..7c516c446c 100644
--- a/source3/utils/smbcontrol.c
+++ b/source3/utils/smbcontrol.c
@@ -968,18 +968,14 @@ static bool do_num_children(struct tevent_context *ev_ctx,
return num_replies;
}
-static bool do_dgm_cleanup(struct tevent_context *ev_ctx,
+static bool do_msg_cleanup(struct tevent_context *ev_ctx,
struct messaging_context *msg_ctx,
const struct server_id pid,
const int argc, const char **argv)
{
int ret;
- if (pid.pid != 0) {
- ret = messaging_dgm_cleanup(msg_ctx, pid.pid);
- } else {
- ret = messaging_dgm_wipe(msg_ctx);
- }
+ ret = messaging_cleanup(msg_ctx, pid.pid);
printf("cleanup(%u) returned %s\n", (unsigned)pid.pid,
ret ? strerror(ret) : "ok");
@@ -1397,7 +1393,7 @@ static const struct {
{ "notify-cleanup", do_notify_cleanup },
{ "num-children", do_num_children,
"Print number of smbd child processes" },
- { "dgm-cleanup", do_dgm_cleanup },
+ { "msg-cleanup", do_msg_cleanup },
{ "noop", do_noop, "Do nothing" },
{ NULL }
};