Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 16 Apr 2003 14:40:08 -0700 (PDT)
From:      Daniel Eischen <eischen@pcnet1.pcnet.com>
To:        freebsd-bugs@FreeBSD.org
Subject:   Re: bin/49087: Signals lost in programs linked with libc_r
Message-ID:  <200304162140.h3GLe8rs062452@freefall.freebsd.org>

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

The following reply was made to PR bin/49087; it has been noted by GNATS.

From: Daniel Eischen <eischen@pcnet1.pcnet.com>
To: Enache Adrian <enache@rdslink.ro>
Cc: Anton Berezin <tobez@FreeBSD.org>,
	FreeBSD-gnats-submit@FreeBSD.org, fjoe@FreeBSD.org,
	deischen@FreeBSD.org, marcel@FreeBSD.org
Subject: Re: bin/49087: Signals lost in programs linked with libc_r
Date: Wed, 16 Apr 2003 17:37:11 -0400 (EDT)

 On Thu, 17 Apr 2003, Enache Adrian wrote:
 
 > On Wed, Apr 16, 2003 at 03:56:42PM +0200, Anton Berezin wrote:
 > > Please try the following patch (tested an identical patch on 4.8;  not
 > > tested with -current):
 > > 
 > > Index: uthread_sig.c
 > > ===================================================================
 > > RCS file: /home/ncvs/src/lib/libc_r/uthread/uthread_sig.c,v
 > > retrieving revision 1.45
 > > diff -u -r1.45 uthread_sig.c
 > > --- uthread_sig.c	5 Mar 2003 04:28:08 -0000	1.45
 > > +++ uthread_sig.c	16 Apr 2003 13:45:36 -0000
 > 
 > It works.
 > ( applied on top of lib/libc_r sources cvsup'ed just now & the rest
 >   of the system built 2 days ago ).
 
 I think the code should just keep invoking the handler for
 all unmasked signals:
 
 	while (SIGNOTEMPTY(sigset)) {
 		for (i = 0; i < NSIG; i++) {
 			if (sigismember(...)) {
 				_thread_sig_invoke_handler(...)
 			}
 		}
 		/* restore mask */
 		/* recalculate pending deliverable signals in sigset */
 	}
 
 -- 
 Dan Eischen
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200304162140.h3GLe8rs062452>