First draft: rewrite of {get|set|swap}context(3)

Daniel Eischen eischen at vigrid.com
Sun Aug 17 20:18:53 PDT 2003


On Sun, 17 Aug 2003, Marcel Moolenaar wrote:

> On Mon, Aug 18, 2003 at 07:34:21AM +0800, David Xu wrote:
> > >
> > > > I think it should be UCF_NOSIGMASK. But for libkse, we really needn't
> > > > this kind of hack, because M:N thread in kernel always masks all signals,
> > > > you can always SIGFILLSET(&uc.uc_sigmask) before call set_context.
> > >
> > > I tried this, but it didn't fix mutex_d.
> > 
> > I can pass mutex_d if gettimeofday does not return -1, but it is strange
> > that gettimeofday can return -1 and errno is EFAULT.
> 
> The copyout() is probably failing or we're not restoring the
> return registers properly.
> 
> > so line 414 of mutex_d.c is asserted:
> >    assert (gettimeofday (&tv2, NULL) == 0);
> 
> Yup. That's what I'm seeing too. 

Hmm, that's not what I see.

-- 
Dan Eischen



More information about the freebsd-threads mailing list