diff options
-rw-r--r-- | source3/lib/messages.c | 7 | ||||
-rw-r--r-- | source3/lib/messages_ctdbd.c | 9 |
2 files changed, 16 insertions, 0 deletions
diff --git a/source3/lib/messages.c b/source3/lib/messages.c index a7925ace7a..c153953fb7 100644 --- a/source3/lib/messages.c +++ b/source3/lib/messages.c @@ -320,6 +320,13 @@ NTSTATUS messaging_send(struct messaging_context *msg_ctx, struct server_id server, uint32_t msg_type, const DATA_BLOB *data) { +#ifdef CLUSTER_SUPPORT + if (!procid_is_local(&server)) { + return msg_ctx->remote->send_fn(msg_ctx, server, + msg_type, data, + msg_ctx->remote); + } +#endif return msg_ctx->local->send_fn(msg_ctx, server, msg_type, data, msg_ctx->local); } diff --git a/source3/lib/messages_ctdbd.c b/source3/lib/messages_ctdbd.c index d048bc9aba..dbdc8db3c1 100644 --- a/source3/lib/messages_ctdbd.c +++ b/source3/lib/messages_ctdbd.c @@ -94,6 +94,15 @@ NTSTATUS messaging_ctdbd_init(struct messaging_context *msg_ctx, return status; } + status = ctdbd_register_msg_ctx(ctx->conn, msg_ctx); + + if (!NT_STATUS_IS_OK(status)) { + DEBUG(10, ("ctdbd_register_msg_ctx failed: %s\n", + nt_errstr(status))); + TALLOC_FREE(result); + return status; + } + global_ctdbd_connection = ctx->conn; talloc_set_destructor(ctx, messaging_ctdbd_destructor); |