diff options
-rw-r--r-- | docs-xml/manpages-3/smbcontrol.1.xml | 17 | ||||
-rw-r--r-- | source3/utils/smbcontrol.c | 7 |
2 files changed, 16 insertions, 8 deletions
diff --git a/docs-xml/manpages-3/smbcontrol.1.xml b/docs-xml/manpages-3/smbcontrol.1.xml index d7c7751cbe..f8c31bb1b9 100644 --- a/docs-xml/manpages-3/smbcontrol.1.xml +++ b/docs-xml/manpages-3/smbcontrol.1.xml @@ -58,23 +58,32 @@ on STDIN. An empty command line or a "q" will quit the program.</para></listitem> </varlistentry> - + <varlistentry> <term>destination</term> <listitem><para>One of <parameter>nmbd</parameter>, <parameter>smbd</parameter> or a process ID.</para> + <para>The <parameter>all</parameter> destination causes the + message to "broadcast" to all running daemons including nmbd and + winbind. This is a change for Samba 3.3, prior to this the + paramter smbd used to do this.</para> + <para>The <parameter>smbd</parameter> destination causes the - message to "broadcast" to all smbd daemons.</para> + message to be sent to the smbd daemon specified in the + <filename>smbd.pid</filename> file.</para> <para>The <parameter>nmbd</parameter> destination causes the message to be sent to the nmbd daemon specified in the <filename>nmbd.pid</filename> file.</para> + <para>The <parameter>winbindd</parameter> destination causes the + message to be sent to the winbind daemon specified in the + <filename>winbindd.pid</filename> file.</para> + <para>If a single process ID is given, the message is sent to only that process.</para></listitem> </varlistentry> - - + <varlistentry> <term>message-type</term> <listitem><para>Type of message to send. See diff --git a/source3/utils/smbcontrol.c b/source3/utils/smbcontrol.c index 6699763cd2..750030d916 100644 --- a/source3/utils/smbcontrol.c +++ b/source3/utils/smbcontrol.c @@ -1228,9 +1228,9 @@ static struct server_id parse_dest(const char *dest) struct server_id result = {-1}; pid_t pid; - /* Zero is a special return value for broadcast smbd */ + /* Zero is a special return value for broadcast to all processes */ - if (strequal(dest, "smbd")) { + if (strequal(dest, "all")) { return interpret_pid(MSG_BROADCAST_PID_STR); } @@ -1245,7 +1245,6 @@ static struct server_id parse_dest(const char *dest) dest = "winbindd"; } - if (!(strequal(dest, "winbindd") || strequal(dest, "nmbd"))) { /* Check for numeric pid number */ @@ -1266,7 +1265,7 @@ static struct server_id parse_dest(const char *dest) fprintf(stderr,"Can't find pid for destination '%s'\n", dest); return result; -} +} /* Execute smbcontrol command */ |