[PATCH 2/3] Provide ucontext to signal handlers

Jon TURNEY jon.turney@dronecode.org.uk
Wed Apr 1 17:37:00 GMT 2015


On 01/04/2015 15:22, Corinna Vinschen wrote:
> On Apr  1 14:19, Jon TURNEY wrote:
>> Add ucontext.h header, defining ucontext_t and mcontext_t types.
>>
>> Provide sigaction sighandlers with a ucontext_t parameter, containing stack and
>> context information.
>>
>> 	* include/sys/ucontext.h : New header.
>> 	* include/ucontext.h : Ditto.
>> 	* exceptions.cc (call_signal_handler): Provide ucontext_t
>> 	parameter to signal handler function.
>
> Patch is ok with a single change:  Please add a "FIXME?" comment to:
>
>    else
>      RtlCaptureContext();
>
> On second thought, calling RtlCaptureContext here is probably wrong.
>
> What we really need is the context of the thread when calling
> call_signal_handler I think.

I had the same thought, but this is going to be quite tricky to achieve.

This patch depends on the change to newlib to add stack_t, so I will 
wait for that to land before committing this patch.

> It would be better to call RtlCaptureContext
> before calling call_signal_handler.  But this requires a change in how
> call_signal_handler is called.
>
> We should discuss this at one point, I think.



More information about the Cygwin-patches mailing list