diff options
author | Volker Lendecke <vl@samba.org> | 2014-04-10 22:09:04 +0200 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2014-04-23 22:33:09 +0200 |
commit | e22433aea1fe08ecd62a8d25b525cd9e95088449 (patch) | |
tree | 134374f1fac833f403925d752f7f40ef44b90de3 /source3/utils/smbcontrol.c | |
parent | 6874e4a0f2b2bce120f2eea4563239b90c968dd7 (diff) | |
download | samba-e22433aea1fe08ecd62a8d25b525cd9e95088449.tar.gz |
smbcontrol: Add dgm-cleanup command
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Diffstat (limited to 'source3/utils/smbcontrol.c')
-rw-r--r-- | source3/utils/smbcontrol.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/source3/utils/smbcontrol.c b/source3/utils/smbcontrol.c index d0e923a7b84..274de7077bc 100644 --- a/source3/utils/smbcontrol.c +++ b/source3/utils/smbcontrol.c @@ -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 } }; |