mirror of
https://github.com/samba-team/samba.git
synced 2025-01-10 01:18:15 +03:00
ctdb-locking: Avoid resetting talloc destructor
Let ctdb_lock_request_destructor() take care of the proper cleanup. If the request if freed from the callback function, then the lock context should not be freed. Setting request->lctx to NULL takes care of that in the destructor. BUG: https://bugzilla.samba.org/show_bug.cgi?id=11293 Signed-off-by: Amitay Isaacs <amitay@gmail.com> Reviewed-by: Stefan Metzmacher <metze@samba.org>
This commit is contained in:
parent
2b352ff205
commit
bc747030d4
@ -353,8 +353,10 @@ static void process_callbacks(struct lock_context *lock_ctx, bool locked)
|
||||
|
||||
request = lock_ctx->request;
|
||||
if (lock_ctx->auto_mark) {
|
||||
/* Reset the destructor, so request is not removed from the list */
|
||||
talloc_set_destructor(request, NULL);
|
||||
/* Since request may be freed in the callback, unset the lock
|
||||
* context, so request destructor will not free lock context.
|
||||
*/
|
||||
request->lctx = NULL;
|
||||
}
|
||||
|
||||
/* Since request may be freed in the callback, unset the request */
|
||||
|
Loading…
Reference in New Issue
Block a user