This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [ANNOUNCEMENT] TEST RELEASE: Cygwin 2.2.0-0.2


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

Attachment: pgpTCzUVcMA2N.pgp
Description: PGP signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]