summaryrefslogtreecommitdiffstats
path: root/source
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2006-12-14 22:11:17 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:16:29 -0500
commitda3d0b62340b545950ea2081f30c252fd4609981 (patch)
treedfdc1a02ec9d797668671cb31d8f3b02f6c4b44b /source
parent3486acd3c3ebefae8f98dcc72d1c3d6b06fffcc7 (diff)
downloadsamba-da3d0b62340b545950ea2081f30c252fd4609981.tar.gz
samba-da3d0b62340b545950ea2081f30c252fd4609981.tar.xz
samba-da3d0b62340b545950ea2081f30c252fd4609981.zip
r20174: If we're only going to call one handler per message
then terminate the traversal once we've done that. Jeremy.
Diffstat (limited to 'source')
-rw-r--r--source/lib/messages.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/source/lib/messages.c b/source/lib/messages.c
index 66bbebac270..de17a03afc1 100644
--- a/source/lib/messages.c
+++ b/source/lib/messages.c
@@ -483,23 +483,23 @@ void message_dispatch(void)
return;
for (buf = msgs_buf; message_recv(msgs_buf, total_len, &msg_type, &src, &buf, &len); buf += len) {
- struct dispatch_fns *dfn, *next;
+ struct dispatch_fns *dfn;
DEBUG(10,("message_dispatch: received msg_type=%d "
"src_pid=%u\n", msg_type,
(unsigned int) procid_to_pid(&src)));
n_handled = 0;
- for (dfn = dispatch_fns; dfn; dfn = next) {
- next = dfn->next;
+ for (dfn = dispatch_fns; dfn; dfn = dfn->next) {
if (dfn->msg_type == msg_type) {
DEBUG(10,("message_dispatch: processing message of type %d.\n", msg_type));
dfn->fn(msg_type, src, len ? (void *)buf : NULL, len);
n_handled++;
+ break;
}
}
if (!n_handled) {
- DEBUG(5,("message_dispatch: warning: no handlers registed for "
+ DEBUG(5,("message_dispatch: warning: no handler registed for "
"msg_type %d in pid %u\n",
msg_type, (unsigned int)sys_getpid()));
}