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>