diff options
author | Volker Lendecke <vl@samba.org> | 2015-09-25 15:49:16 -0700 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2015-10-03 00:01:11 +0200 |
commit | 0bc244ee58ae9fce2574113dd244ffa03934f5d8 (patch) | |
tree | f8d82750e07f70ef6be2b9f9b0714dcec3e03b0a /source3/lib | |
parent | 6c8606245381262ed43c14dec403b5a8a0eee5b5 (diff) | |
download | samba-0bc244ee58ae9fce2574113dd244ffa03934f5d8.tar.gz |
lib: Store sockname in ctdbd_connection
We'll need it in ctdbd_traverse()
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Diffstat (limited to 'source3/lib')
-rw-r--r-- | source3/lib/ctdbd_conn.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/source3/lib/ctdbd_conn.c b/source3/lib/ctdbd_conn.c index a690a5554a6..8977e02fd19 100644 --- a/source3/lib/ctdbd_conn.c +++ b/source3/lib/ctdbd_conn.c @@ -43,6 +43,7 @@ struct ctdbd_srvid_cb { }; struct ctdbd_connection { + const char *sockname; /* Needed in ctdbd_traverse */ struct messaging_context *msg_ctx; uint32_t reqid; uint32_t our_vnn; @@ -426,7 +427,6 @@ static int ctdbd_connection_destructor(struct ctdbd_connection *c) static NTSTATUS ctdbd_init_connection(TALLOC_CTX *mem_ctx, struct ctdbd_connection **pconn) { - const char *sockname = lp_ctdbd_socket(); struct ctdbd_connection *conn; int ret; NTSTATUS status; @@ -436,13 +436,20 @@ static NTSTATUS ctdbd_init_connection(TALLOC_CTX *mem_ctx, return NT_STATUS_NO_MEMORY; } + conn->sockname = talloc_strdup(conn, lp_ctdbd_socket()); + if (conn->sockname == NULL) { + DBG_ERR("%s: talloc failed\n", __func__); + status = NT_STATUS_NO_MEMORY; + goto fail; + } + conn->timeout = lp_ctdb_timeout(); if (conn->timeout == 0) { conn->timeout = -1; } - ret = ctdbd_connect(sockname, &conn->fd); + ret = ctdbd_connect(conn->sockname, &conn->fd); if (ret != 0) { status = map_nt_error_from_unix(ret); DEBUG(1, ("ctdbd_connect failed: %s\n", strerror(ret))); |