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 Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Maintainer cygwin AT cygwin DOT com Red Hat
pgpb9OqKIUr_s.pgp
Description: PGP signature