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