Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 22 Mar 2000 08:04:37 -0500 (EST)
From:      Daniel Eischen <eischen@vigrid.com>
To:        Arun Sharma <adsharma@sharmas.dhs.org>
Cc:        Marcel Moolenaar <marcel@scc.nl>, Peter Wemm <peter@netplex.com.au>, current@FreeBSD.ORG
Subject:   Re: ucontext
Message-ID:  <Pine.SUN.3.91.1000322080258.15917A-100000@pcnet1.pcnet.com>
In-Reply-To: <20000321225432.A4533@sharmas.dhs.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 21 Mar 2000, Arun Sharma wrote:
> On Tue, Sep 07, 1999 at 01:21:59PM +0200, Marcel Moolenaar wrote:
> > Peter Wemm wrote:
> > > 
> > > Before getting too far here, can we consider some other standard interfaces?
> > > 
> > >      #include <ucontext.h>
> > > 
> > >      int getcontext(ucontext_t *ucp);
> > >      int setcontext(const ucontext_t *ucp);
> > >      void makecontext(ucontext_t *ucp, (void *func)(), int argc, ...);
> > >      int swapcontext(ucontext_t *oucp, const ucontext_t *ucp);
> > > 
> > > http://www.opengroup.org/onlinepubs/007908799/xsh/ucontext.h.html
> > > 
> > > setjmp,longjmp,sigreturn,etc can all be done with this interface and it can
> > > be used for libc_r and future kernel-assisted threading.
> > 
> > We're at a point where the discussion, altough meaningful and important,
> > has no direct impact on the sigset_t change. I agree with Peter that we
> > should as well consider the ucontext interface, but prefer to stay focussed
> > on changing sigset_t. So, here's where I shut up and let you discuss the
> > matter further :-)
> 
> Is anyone working on this ? Porting JDKs to FreeBSD would be a lot easier
> if these routines are implemented.

I had them implemented and working for i386, and even had a hacked up
libc_r that used them instead of setjmp/longjmp.  This was a few months
ago under 4.0-current.  At the time, I thought they'd be better off
implemented as syscalls, but now I'm leaning towards library routines
similar to setjmp/longjmp (which make a syscall to change the signal
mask).

Ucontext needs to change also.  We need a flags word to indicate whether
the register state and FP state are valid, and probably a revision word
to identify future changes within ucontext_t.

Dan Eischen
eischen@vigrid.com


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.SUN.3.91.1000322080258.15917A-100000>