summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs-xml/manpages-3/smbcontrol.1.xml17
-rw-r--r--source3/utils/smbcontrol.c7
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 */