[ANNOUNCEMENT] TEST RELEASE: Cygwin 2.2.0-0.2

Eliot Moss moss@cs.umass.edu
Wed Jul 22 17:21:00 GMT 2015


On 7/22/2015 12:06 PM, Corinna Vinschen wrote:
> On Jul 22 11:33, Eliot Moss wrote:
>> On 7/22/2015 11:14 AM, Corinna Vinschen wrote:
>>
>>>    NEW:  sigsetjmp and siglongjmp were only implemented as macros so far.
>>>    POSIX requires functions longjmp and siglongjmp to exist.  2.2.0-0.2
>>>    adds sigsetjmp and siglongjmp functions.
>>>
>>>    2.2.0 comes with four new functions:  getcontext, setcontext,
>>>    makecontext and swapcontext.
>>
>> So I am wondering if signal handlers now have access to the full context,
>> including register values.  There was at one time a desire to port Jikes RVM,
>> a research Java Virtual Machine, to cygwin, to get it running under Windows.
>> Lack of ability to obtain and modify the ucontext in a signal handler was
>> the sticking point.  (It was needed in the case of, say, a null pointer
>> exception, to fake up the throwing of the Java exception when the signal
>> handler returns.)
>
> The full ucontext is available to signal handlers since Cygwin 2.0.4 if
> sigaction is called with the SA_SIGINFO flag set, courtesy of Jon
> Turney's efforts.
>
> New in 2.2.0 is only the matching implementation of the aforementioned
> functions.
>
> Please note that the ucontext_t and mcontext_t types are platform
> specific.  The mcontext_t type reflects the Windows CONTEXT type more
> than the Linux mcontext_t type.
>
> For the ucontext_t type see /usr/include/sys/ucontext.h
> For the mcontext_t type see /usr/include/cygwin/signal.h

Thanks!  Helpful to know!   Eliot

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list