diff options
author | Amitay Isaacs <amitay@gmail.com> | 2016-11-29 17:20:45 +1100 |
---|---|---|
committer | Amitay Isaacs <amitay@samba.org> | 2017-01-12 04:12:23 +0100 |
commit | 3a56a16b06cf6d1cce613ec29f5ea46630902072 (patch) | |
tree | 31395cfc644f43c0a1f0f91ef4f38c5591df4927 /ctdb/server/ctdb_lock.c | |
parent | 5b1076dc61f5e3f006c1b8cef98e7d2d3cc1bfba (diff) | |
download | samba-3a56a16b06cf6d1cce613ec29f5ea46630902072.tar.gz |
ctdb-locking: Explicitly unlock record/db in lock helper
BUG: https://bugzilla.samba.org/show_bug.cgi?id=12469
Instead of killing lock helper processes with SIGKILL, send SIGTERM so
lock helper processes can explicitly unlock record/db.
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
Diffstat (limited to 'ctdb/server/ctdb_lock.c')
-rw-r--r-- | ctdb/server/ctdb_lock.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/ctdb/server/ctdb_lock.c b/ctdb/server/ctdb_lock.c index 0203369c3c2..b2c6d1507e5 100644 --- a/ctdb/server/ctdb_lock.c +++ b/ctdb/server/ctdb_lock.c @@ -192,7 +192,7 @@ static int ctdb_lock_context_destructor(struct lock_context *lock_ctx) lock_ctx->request->lctx = NULL; } if (lock_ctx->child > 0) { - ctdb_kill(lock_ctx->ctdb, lock_ctx->child, SIGKILL); + ctdb_kill(lock_ctx->ctdb, lock_ctx->child, SIGTERM); if (lock_ctx->type == LOCK_RECORD) { DLIST_REMOVE(lock_ctx->ctdb_db->lock_current, lock_ctx); } else { @@ -683,7 +683,7 @@ static void ctdb_lock_schedule(struct ctdb_context *ctdb) ctdb_lock_timeout_handler, (void *)lock_ctx); if (lock_ctx->ttimer == NULL) { - ctdb_kill(ctdb, lock_ctx->child, SIGKILL); + ctdb_kill(ctdb, lock_ctx->child, SIGTERM); lock_ctx->child = -1; close(lock_ctx->fd[0]); return; @@ -698,7 +698,7 @@ static void ctdb_lock_schedule(struct ctdb_context *ctdb) (void *)lock_ctx); if (lock_ctx->tfd == NULL) { TALLOC_FREE(lock_ctx->ttimer); - ctdb_kill(ctdb, lock_ctx->child, SIGKILL); + ctdb_kill(ctdb, lock_ctx->child, SIGTERM); lock_ctx->child = -1; close(lock_ctx->fd[0]); return; |