smbcontrol: Add dgm-cleanup command
authorVolker Lendecke <vl@samba.org>
Thu, 10 Apr 2014 20:09:04 +0000 (22:09 +0200)
committerJeremy Allison <jra@samba.org>
Wed, 23 Apr 2014 20:33:09 +0000 (22:33 +0200)
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
source3/utils/smbcontrol.c

index d0e923a7b84a29edf2d011c9eec60ed39fde13c4..274de7077bc508aa8a1f1509282b61a62df5e995 100644 (file)
@@ -968,6 +968,25 @@ static bool do_num_children(struct tevent_context *ev_ctx,
        return num_replies;
 }
 
+static bool do_dgm_cleanup(struct tevent_context *ev_ctx,
+                          struct messaging_context *msg_ctx,
+                          const struct server_id pid,
+                          const int argc, const char **argv)
+{
+       NTSTATUS status;
+
+       if (pid.pid != 0) {
+               status = messaging_dgm_cleanup(msg_ctx, pid.pid);
+       } else {
+               status = messaging_dgm_wipe(msg_ctx);
+       }
+
+       printf("cleanup(%u) returned %s\n", (unsigned)pid.pid,
+              nt_errstr(status));
+
+       return NT_STATUS_IS_OK(status);
+}
+
 /* Shutdown a server process */
 
 static bool do_shutdown(struct tevent_context *ev_ctx,
@@ -1378,6 +1397,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 },
        { "noop", do_noop, "Do nothing" },
        { NULL }
 };