[PATCH] ctdb-server: Only set destructor if required
Swen Schillig
swen at vnet.ibm.com
Fri Mar 9 08:16:27 UTC 2018
Please review and push if OK.
Thanks in advance.
Cheers Swen
-------------- next part --------------
From d77d799df195052a725b8b656f8db652ef482836 Mon Sep 17 00:00:00 2001
From: Swen Schillig <swen at vnet.ibm.com>
Date: Thu, 8 Feb 2018 12:19:09 +0100
Subject: [PATCH] ctdb-server: Only set destructor if required
Set the detructor in ctdb_start_revoke_ro_record after the revokechild_handle
was added to the list.
Signed-off-by: Swen Schillig <swen at vnet.ibm.com>
---
ctdb/server/ctdb_call.c | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/ctdb/server/ctdb_call.c b/ctdb/server/ctdb_call.c
index 84df067095c..22c07872c81 100644
--- a/ctdb/server/ctdb_call.c
+++ b/ctdb/server/ctdb_call.c
@@ -1850,8 +1850,6 @@ int ctdb_start_revoke_ro_record(struct ctdb_context *ctdb,
rev_hdl->fd[0] = -1;
rev_hdl->fd[1] = -1;
- talloc_set_destructor(rev_hdl, revokechild_destructor);
-
rev_hdl->key.dsize = key.dsize;
rev_hdl->key.dptr = talloc_memdup(rev_hdl, key.dptr, key.dsize);
if (rev_hdl->key.dptr == NULL) {
@@ -1894,9 +1892,6 @@ int ctdb_start_revoke_ro_record(struct ctdb_context *ctdb,
rev_hdl->fd[1] = -1;
set_close_on_exec(rev_hdl->fd[0]);
- /* This is an active revokechild child process */
- DLIST_ADD_END(ctdb_db->revokechild_active, rev_hdl);
-
rev_hdl->fde = tevent_add_fd(ctdb->ev, rev_hdl, rev_hdl->fd[0],
TEVENT_FD_READ, revokechild_handler,
(void *)rev_hdl);
@@ -1906,6 +1901,10 @@ int ctdb_start_revoke_ro_record(struct ctdb_context *ctdb,
}
tevent_fd_set_auto_close(rev_hdl->fde);
+ /* This is an active revokechild child process */
+ DLIST_ADD_END(ctdb_db->revokechild_active, rev_hdl);
+ talloc_set_destructor(rev_hdl, revokechild_destructor);
+
return 0;
err_out:
talloc_free(rev_hdl);
--
2.14.3
More information about the samba-technical
mailing list