Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 7 Apr 2003 09:18:22 +0800
From:      "David Xu" <davidxu@freebsd.org>
To:        "Daniel Eischen" <eischen@pcnet1.pcnet.com>
Cc:        freebsd-threads@freebsd.org
Subject:   Re: PS_BLOCKED
Message-ID:  <003b01c2fca3$95050c40$f001a8c0@davidw2k>
References:  <Pine.GSO.4.10.10304061053460.17820-100000@pcnet1.pcnet.com>

next in thread | previous in thread | raw e-mail | index | archive | help

----- Original Message -----=20
From: "Daniel Eischen" <eischen@pcnet1.pcnet.com>
To: "David Xu" <davidxu@freebsd.org>
Cc: <freebsd-threads@freebsd.org>
Sent: Sunday, April 06, 2003 11:05 PM
Subject: Re: PS_BLOCKED


> On Sun, 6 Apr 2003, Daniel Eischen wrote:
>=20
> > On Sun, 6 Apr 2003, David Xu wrote:
> > >=20
> > > ----- Original Message -----=20
> > > 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.
> > > >=20
> > >=20
> > > 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.
> >=20
> > I'll do some more debugging today and see if it is in the
> > UTS or the kernel.
>=20
> I think there is a problem in the kernel; probably Jeff's changes
> that broke it.
>=20
> 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.
>=20
> 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.
>=20

See my previous mail, I said current KSE signal code was totally broken
by jeff's signal change.=20

> --=20
> Dan Eischen




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?003b01c2fca3$95050c40$f001a8c0>