Date: Sun, 6 Apr 2003 20:22:24 -0700 (PDT) From: Julian Elischer <julian@elischer.org> To: David Xu <davidxu@freebsd.org> Cc: freebsd-threads@freebsd.org Subject: Re: KSE signals broken by 1:1 commit. Message-ID: <Pine.BSF.4.21.0304062017540.55025-100000@InterJet.elischer.org> In-Reply-To: <003b01c2fca3$95050c40$f001a8c0@davidw2k>
next in thread | previous in thread | raw e-mail | index | archive | help
I'm going to apply to core since jeff is absent, to have permission for us to fix it and possibly break 1:1 (*). I specifically asked him to ensure that this didn't happen if he committed his changes and told him it looked as if it would. (*) I don't WANT to break 1:1 but we can't test it at the moment as it core-dumps so we have no way to see if we are breaking it :-( On Mon, 7 Apr 2003, David Xu wrote: > > ----- Original Message ----- > 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: > > > > > 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. > > > > See my previous mail, I said current KSE signal code was totally broken > by jeff's signal change. > > > -- > > Dan Eischen > > > _______________________________________________ > freebsd-threads@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-threads > To unsubscribe, send any mail to "freebsd-threads-unsubscribe@freebsd.org" >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0304062017540.55025-100000>