Corinna Vinschen corinna-cygwin@cygwin.com
Wed Jul 22 16:06:00 GMT 2015

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

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


Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin/attachments/20150722/bf45c5ae/attachment.sig>

More information about the Cygwin mailing list