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

Marcel Moolenaar marcel at xcllnt.net
Sun Aug 17 17:35:48 PDT 2003


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. 

-- 
 Marcel Moolenaar	  USPA: A-39004		 marcel at xcllnt.net


More information about the freebsd-threads mailing list