Date: Mon, 10 Mar 2003 23:28:34 +0200 From: Enache Adrian <enache@rdslink.ro> To: FreeBSD-gnats-submit@FreeBSD.org Cc: enache@rdslink.ro Subject: bin/49087: Signals lost in programs linked with libc_r Message-ID: <20030310212834.GA827@ratsnest.hole>
index | next in thread | raw e-mail
>Number: 49087
>Category: bin
>Synopsis: Signals lost in programs linked with libc_r
>Confidential: no
>Severity: serious
>Priority: low
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Mon Mar 10 13:30:10 PST 2003
>Closed-Date:
>Last-Modified:
>Originator: Enache Adrian
>Release: FreeBSD 5.0-CURRENT i386
>Organization:
>Environment:
System: FreeBSD ratsnest.hole 5.0-CURRENT FreeBSD 5.0-CURRENT #1: Thu Feb 13 15:39:05 EET 2003 root@ratsnest.hole:/opt/tmp/CUBATAO i386
>Description:
FreeBSD seems to lose blocked signals in programs linked
with libc_r. This bug shows up when running the perl
test suite with a multithreaded perl ( i.e. linked to
libc_r.so ), more precisely at test 11 of ext/POSIX/t/posix.t.
>How-To-Repeat:
Built the test program below ( freely translated from Perl's
test) with/without -lc_r ( or -pthread ) and run it.
On my -current box, I get:
$ cc sig.c -o sig
$ ./sig
sigint delayed ...
SIGINT !
*
$ cc -lc_r sig.c -o sig
$ ./sig
sigint delayed ...
*
-----< sig.c >---------------------------------------------------
#include <unistd.h>
#include <signal.h>
#include <stdio.h>
void sighup(int dummy)
{
kill(getpid(),SIGINT);
sleep(1);
printf("sigint delayed ...\n");
}
void sigint(int dummy)
{
printf("SIGINT !\n");
}
struct sigaction act;
int main()
{
act.sa_handler = sighup;
sigaddset(&act.sa_mask, SIGINT);
sigaction(SIGHUP, &act, NULL);
signal(SIGINT,sigint);
kill(getpid(),SIGHUP);
sleep(2);
printf("*\n");
return 0;
}
-----------------------------------------------------------------
>Fix:
Any pointers appreciated.
>Release-Note:
>Audit-Trail:
>Unformatted:
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030310212834.GA827>
