signal handler priority issue

Sean McNeil sean at mcneil.com
Fri Jun 11 18:15:39 GMT 2004


On Fri, 2004-06-11 at 07:40, David Xu wrote:
> Sean McNeil wrote:
> 
> >Sorry for top-posting, but it may be easier to read this way....
> >
> >The program below has an optimization bug in that done isn't declare
> >volatile.  With that fixed, it works just fine.  I've been attempting to
> >get boehm-gc working and it seems OK with libc_r, but fails with
> >libpthread.  It is essentially doing what the program below does, but
> >for some reason it gets stuck.  Has anyone else been experimenting with
> >boehm-gc?
> >
> >Also, it would really help if I had a debugger that worked with kse
> >threads.  How is that going?  Tracking down pthread issues right now has
> >been difficult with the current debugger.  Can anyone throw some patches
> >my way that may help?
> >  
> >
> Please try the patch:
> http://people.freebsd.org/~davidxu/kse/thr_sigsuspend.c.diff
> 
> the patch is for file /usr/src/lib/libpthread/thread/thr_sigsuspend.c,
> I believe I caught a bug in the sigsuspend(), thread
> should scan pending signals first, only when there is
> no pending signal in wait set,  the thread can sleep.

Also, the mask provided by the sigsuspend call should govern what
handlers get called.  So the sigmask should be left in place until after
the _thr_sig_check_pending(curthread) call.

Thanks for catching this :)

Sean




More information about the freebsd-threads mailing list