Hi Takashi, On 8/2/2026 8:22 PM, Takashi Yano wrote:
the commit 524d75ff7398 ("Cygwin: open: Unlock fdtab before open_ with_arch()") introduced a bug that fdtab lock was not unlocked when new fd cannot be allocated due to an error.This patch adds missing unlock for fdtab lock on error. Fixes: 524d75ff7398 ("Cygwin: open: Unlock fdtab before open_with_arch()") Suggested-by: Johannes Schindelin <[email protected]> Signed-off-by: Takashi Yano <[email protected]> Reviewed-by: --- winsup/cygwin/syscalls.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/winsup/cygwin/syscalls.cc b/winsup/cygwin/syscalls.cc index e3ba8c65c..8373482e9 100644 --- a/winsup/cygwin/syscalls.cc +++ b/winsup/cygwin/syscalls.cc @@ -1554,7 +1554,10 @@ open (const char *unix_path, int flags, ...) cygheap->fdtab.lock(); fd = cygheap->fdtab.find_unused_handle (); if (fd < 0) - __leave; /* errno already set */ + { + cygheap->fdtab.unlock(); + __leave; /* errno already set */ + } cygheap->fdtab[fd] = fh; /* tentative setting to mark as used */ cygheap->fdtab.unlock();
This patch LGTM. Apologies for not catching this in my review. Thanks & Regards, ..mark
