Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 6 Apr 2003 11:05:25 -0400 (EDT)
From:      Daniel Eischen <eischen@pcnet1.pcnet.com>
To:        David Xu <davidxu@freebsd.org>
Cc:        freebsd-threads@freebsd.org
Subject:   Re: PS_BLOCKED
Message-ID:  <Pine.GSO.4.10.10304061053460.17820-100000@pcnet1.pcnet.com>
In-Reply-To: <Pine.GSO.4.10.10304060821060.1170-100000@pcnet1.pcnet.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 6 Apr 2003, Daniel Eischen wrote:

> On Sun, 6 Apr 2003, David Xu wrote:
> > 
> > ----- Original Message ----- 
> > From: "Daniel Eischen" <eischen@pcnet1.pcnet.com>
> > To: "DavidXu" <davidxu@freebsd.org>
> > Cc: <freebsd-threads@freebsd.org>
> > Sent: Sunday, April 06, 2003 2:40 PM
> > Subject: Re: PS_BLOCKED
> >
> > > I've still got one bug I am trying to hunt down with
> > > signals -- the sigwait test fails.  Process (kill) signals
> > > don't seem to wakeup threads in sigwait().  I'm not sure
> > > if it is a kernel bug or not, but I suspect it's
> > > something I'm doing.
> > > 
> > 
> > I don't know if Jeff's signal change in kernel affects your code,
> > but signals lost problem is still not fixed, a thread exports its
> > context and exits would lost signals dispatched to it, even the
> > signals is not for the thread, but for process.
> 
> I'll do some more debugging today and see if it is in the
> UTS or the kernel.

I think there is a problem in the kernel; probably Jeff's changes
that broke it.

When the UTS gets a signal (in k_mbx.km_sigscaught), the signal
mask in the kernel is never cleared.  The UTS only ever gets
one signal.  If I use __sys_sigprocmask() to clear the kernel
signal mask after the UTS receives the signal(s), then everything
works and the sigwait test passes.

I'm not sure what we should do.  The UTS is currently installing
signal handlers with all signals masked (act.sa_mask).  We could
clear this mask and perhaps solve the problem that way.  But when
there are multiple (kernel) threads each with its own mask and
Jeff's recent changes, there are other problems I think.

-- 
Dan Eischen



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