[PATCH] Cygwin: signal: Do not suspend myself and use VEH
Corinna Vinschen
corinna-cygwin@cygwin.com
Mon Jun 23 15:40:34 GMT 2025
On Jun 23 23:20, Takashi Yano wrote:
> On Mon, 23 Jun 2025 15:30:45 +0200
> Corinna Vinschen wrote:
> > But there's another problem I don't get. The VEH apparently
> > runs in the context of the single stepping thread (you're using
> > _my_tls in the VEH). It sets in_exception_handler to true and then
> > goes into a busy loop before returning the exception flag.
> >
> > But that means the following SuspendThread...
> >
> >
> > > + SuspendThread (*this);
> >
> > ...will suspend the thread while in the VEH...
> >
> > > GetThreadContext (*this, cx);
> > > suspend_on_exception = false;
> >
> > ...because suspend_on_exception is true up to here.
> >
> > How is that supposed to work?
>
> Perhaps I don't fully understand your concern.
>
> I intended to suspend the thread at the busy loop in the VEH.
> Then, branching to sigdelayed from there and return to the busy loop
> with suspend_on_exception flag of false.
>
> What is your point?
I withdraw the question. In fact, the long comment a couple of lines
earlier explains it.
Thanks,
Corinna
More information about the Cygwin-patches
mailing list