diff --git a/src/tools/process_locker.rs b/src/tools/process_locker.rs index 56f8c514..6ab2e1c1 100644 --- a/src/tools/process_locker.rs +++ b/src/tools/process_locker.rs @@ -55,7 +55,9 @@ impl Drop for ProcessLockSharedGuard { if let Err(err) = nix::fcntl::fcntl(data.file.as_raw_fd(), nix::fcntl::FcntlArg::F_SETLKW(&op)) { panic!("unable to drop writer lock - {}", err); } - data.writers = 0; + } + if data.writers > 0 { + data.writers -= 1; } } }