On Tue, 21 Jan 2025, Takashi Yano wrote:
> diff --git a/winsup/cygwin/cygwait.cc b/winsup/cygwin/cygwait.cc
> index 80c0e971c..8613638f6 100644
> --- a/winsup/cygwin/cygwait.cc
> +++ b/winsup/cygwin/cygwait.cc
> @@ -58,16 +58,22 @@ cygwait (HANDLE object, PLARGE_INTEGER timeout, unsigned
> mask)
> }
>
> DWORD timeout_n;
> + HANDLE &wait_timer = _my_tls.locals.cw_timer;
> + HANDLE local_wait_timer = NULL;
> if (!timeout)
> timeout_n = WAIT_TIMEOUT + 1;
> else
> {
> + if (_my_tls.locals.cw_timer_inuse)
> + wait_timer = local_wait_timer;
Since wait_timer is a handle reference, won't assigning it here overwrite
_my_tls.locals.cw_timer ? I think you might have to use a pointer here
instead.