summaryrefslogtreecommitdiff
path: root/source3/lib
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2015-09-25 15:49:16 -0700
committerJeremy Allison <jra@samba.org>2015-10-03 00:01:11 +0200
commit0bc244ee58ae9fce2574113dd244ffa03934f5d8 (patch)
treef8d82750e07f70ef6be2b9f9b0714dcec3e03b0a /source3/lib
parent6c8606245381262ed43c14dec403b5a8a0eee5b5 (diff)
downloadsamba-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.c11
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)));