diff --git a/src/lck-linux.c b/src/lck-linux.c index d46ebf47..6ab9907b 100644 --- a/src/lck-linux.c +++ b/src/lck-linux.c @@ -143,7 +143,7 @@ static int mdbx_lck_op(mdbx_filehandle_t fd, int cmd, short lck, off_t offset, return 0; } int rc = errno; - if (rc != EINTR) + if (rc != EINTR || cmd == op_setlkw) return rc; } } diff --git a/src/lck-posix.c b/src/lck-posix.c index 5bfb55b3..c8f20b57 100644 --- a/src/lck-posix.c +++ b/src/lck-posix.c @@ -105,7 +105,7 @@ static int mdbx_lck_op(mdbx_filehandle_t fd, int cmd, short lck, off_t offset, return 0; } int rc = errno; - if (rc != EINTR) + if (rc != EINTR || cmd == F_SETLKW) return rc; } }