This better fits the way Samba4 does message dispatch
/* XXX we need a must faster way of finding the matching srvid
- maybe a tree? */
for (ml=ctdb->message_list;ml;ml=ml->next) {
- if (ml->srvid == srvid) break;
+ if (ml->srvid == srvid || ml->srvid == CTDB_SRVID_ALL) break;
}
if (ml == NULL) {
printf("daemon vnn:%d no msg handler for srvid=%u\n", ctdb_get_vnn(ctdb), srvid);
int ret;
/* setup messaging handler */
- ret = ctdb_set_message_handler(state->ctdb, ctdb_message_handler,
- server.id, state);
+ ret = ctdb_set_message_handler(state->ctdb, CTDB_SRVID_ALL,
+ ctdb_message_handler, state);
if (ret == -1) {
DEBUG(0,("ctdb_set_message_handler failed - %s\n",
ctdb_errstr(state->ctdb)));
#define CTDB_FLAG_CONNECT_WAIT (1<<2)
+/*
+ a message handler ID meaning "give me all messages"
+ */
+#define CTDB_SRVID_ALL 0xFFFFFFFF
+
struct event_context;
/*