diff options
author | Volker Lendecke <vl@samba.org> | 2010-07-04 16:18:12 +0200 |
---|---|---|
committer | Volker Lendecke <vl@samba.org> | 2010-07-04 17:29:23 +0200 |
commit | 5a3c64668a33fc3fa8f87a78d06fa040eed9f8f8 (patch) | |
tree | 82d437c46468a211b501d403c28a976b3659057e /source3 | |
parent | b3194be286a6af28044375e893cfa0b095dba6e6 (diff) | |
download | samba-5a3c64668a33fc3fa8f87a78d06fa040eed9f8f8.tar.gz samba-5a3c64668a33fc3fa8f87a78d06fa040eed9f8f8.tar.bz2 samba-5a3c64668a33fc3fa8f87a78d06fa040eed9f8f8.zip |
s3: Re-initialize the server_id in messaging_reinit
Diffstat (limited to 'source3')
-rw-r--r-- | source3/include/messages.h | 3 | ||||
-rw-r--r-- | source3/lib/messages.c | 5 | ||||
-rw-r--r-- | source3/lib/util.c | 6 |
3 files changed, 9 insertions, 5 deletions
diff --git a/source3/include/messages.h b/source3/include/messages.h index 865ffd4822..805889a805 100644 --- a/source3/include/messages.h +++ b/source3/include/messages.h @@ -130,7 +130,8 @@ struct messaging_context *messaging_init(TALLOC_CTX *mem_ctx, /* * re-init after a fork */ -NTSTATUS messaging_reinit(struct messaging_context *msg_ctx); +NTSTATUS messaging_reinit(struct messaging_context *msg_ctx, + struct server_id id); NTSTATUS messaging_register(struct messaging_context *msg_ctx, void *private_data, diff --git a/source3/lib/messages.c b/source3/lib/messages.c index 2fcdc24179..d53297e502 100644 --- a/source3/lib/messages.c +++ b/source3/lib/messages.c @@ -226,12 +226,15 @@ struct messaging_context *messaging_init(TALLOC_CTX *mem_ctx, /* * re-init after a fork */ -NTSTATUS messaging_reinit(struct messaging_context *msg_ctx) +NTSTATUS messaging_reinit(struct messaging_context *msg_ctx, + struct server_id id) { NTSTATUS status; TALLOC_FREE(msg_ctx->local); + msg_ctx->id = id; + status = messaging_tdb_init(msg_ctx, msg_ctx, &msg_ctx->local); if (!NT_STATUS_IS_OK(status)) { DEBUG(0, ("messaging_tdb_init failed: %s\n", diff --git a/source3/lib/util.c b/source3/lib/util.c index d7e765d1af..1467c5445d 100644 --- a/source3/lib/util.c +++ b/source3/lib/util.c @@ -872,8 +872,8 @@ void smb_msleep(unsigned int t) } NTSTATUS reinit_after_fork(struct messaging_context *msg_ctx, - struct event_context *ev_ctx, - bool parent_longlived) + struct event_context *ev_ctx, + bool parent_longlived) { NTSTATUS status = NT_STATUS_OK; @@ -899,7 +899,7 @@ NTSTATUS reinit_after_fork(struct messaging_context *msg_ctx, * For clustering, we need to re-init our ctdbd connection after the * fork */ - status = messaging_reinit(msg_ctx); + status = messaging_reinit(msg_ctx, procid_self()); if (!NT_STATUS_IS_OK(status)) { DEBUG(0,("messaging_reinit() failed: %s\n", nt_errstr(status))); |