FreeBSD seems to loose signals in programs linked with libc_r. sigaction.c ( freely translated from Perl's ext/POSIX/t/posix.t test) -----------------8x---------------------- #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; } -----------------8x----------------------- csh# cc sigaction.c -o sigaction csh# ./sigaction sigint delayed ... SIGINT ! * csh# cc -lc_r sigaction.c -o sigaction csh# ./sigaction sigint delayed ... * (this is -CURRENT, cvsup'ed 3 days ago) Please enlighten me. Adi To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message