summaryrefslogtreecommitdiff
path: root/ctdb
diff options
context:
space:
mode:
Diffstat (limited to 'ctdb')
-rw-r--r--ctdb/server/ctdb_recoverd.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/ctdb/server/ctdb_recoverd.c b/ctdb/server/ctdb_recoverd.c
index 5e49e8842d9..62e4c4655da 100644
--- a/ctdb/server/ctdb_recoverd.c
+++ b/ctdb/server/ctdb_recoverd.c
@@ -954,17 +954,18 @@ static bool ctdb_recovery_lock(struct ctdb_recoverd *rec)
return false;
}
+ rec->recovery_lock_handle = s;
+ s->h = h;
+
while (! s->done) {
tevent_loop_once(ctdb->ev);
}
if (! s->locked) {
- talloc_free(s);
+ TALLOC_FREE(rec->recovery_lock_handle);
return false;
}
- rec->recovery_lock_handle = s;
- s->h = h;
ctdb_ctrl_report_recd_lock_latency(ctdb,
CONTROL_TIMEOUT(),
s->latency);