[PATCH] Cygwin: open: Add missing unlock on error
Mark Geisert
mark@maxrnd.com
Mon Aug 3 08:52:29 GMT 2026
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 <Johannes.Schindelin@gmx.de>
> Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
> 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
More information about the Cygwin-patches
mailing list