s3:smbcontrol: don't do stack_trace by connection but by server_id.
authorGregor Beck <gbeck@sernet.de>
Tue, 28 Aug 2012 07:31:59 +0000 (09:31 +0200)
committerMichael Adam <obnox@samba.org>
Fri, 19 Oct 2012 10:14:59 +0000 (12:14 +0200)
Inparticular use serverid_traverse_read instead of connections_foralli
to enumerate processes.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Signed-off-by: Michael Adam <obnox@samba.org>
source3/utils/smbcontrol.c

index c91c0f3d1676616aa4e3a8d3d6ea8e0295eee5fb..900ae9a9f04a39da9f0705b62b512314fac41a23 100644 (file)
@@ -321,12 +321,13 @@ cleanup:
        ptrace(PTRACE_DETACH, pid, NULL, NULL);
 }
 
-static int stack_trace_connection(const struct connections_key *key,
-                                 const struct connections_data *crec,
-                                 void *priv)
+static int stack_trace_server(const struct server_id *id,
+                             uint32_t msg_flags,
+                             void *priv)
 {
-       print_stack_trace(procid_to_pid(&crec->pid), (int *)priv);
-
+       if (id->vnn == get_my_vnn()) {
+               print_stack_trace(procid_to_pid(&id->pid), (int *)priv);
+       }
        return 0;
 }
 
@@ -353,7 +354,7 @@ static bool do_daemon_stack_trace(struct tevent_context *ev_ctx,
                 */
                print_stack_trace(dest, &count);
        } else {
-               connections_forall_read(stack_trace_connection, &count);
+               serverid_traverse_read(stack_trace_server, &count);
        }
 
        return True;