From 0be33f7050167371748a17f7b3036f54e5f3204b Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Fri, 17 Sep 2021 12:08:44 +0200 Subject: [PATCH] mx_flock: Add mx_funlock_nodelete Add function to release the lock without removing the logfile. This is useful for forked children, which inherited the lock and just need to give it up. --- mx_flock.c | 7 +++++++ mx_flock.h | 1 + 2 files changed, 8 insertions(+) diff --git a/mx_flock.c b/mx_flock.c index ab9f3dba..ef4d3ede 100644 --- a/mx_flock.c +++ b/mx_flock.c @@ -155,6 +155,13 @@ int mx_funlock(struct mx_flock *lock) return res; } +/* as above, but don't delete lock file + */ +void mx_funlock_nodelete(struct mx_flock *lock) { + _flock_close(lock); + _flock_free(lock); +} + void mx_flock_free(struct mx_flock *lock) { _flock_free(lock); diff --git a/mx_flock.h b/mx_flock.h index 34ab4e8d..9b632829 100644 --- a/mx_flock.h +++ b/mx_flock.h @@ -10,6 +10,7 @@ struct mx_flock { struct mx_flock *mx_flock(int operation, char *fmt, ...); int mx_funlock(struct mx_flock *lock); +void mx_funlock_nodelete(struct mx_flock *lock); void mx_flock_free(struct mx_flock *lock); #endif