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.

Reply via email to