This is the mail archive of the
libc-hacker@sourceware.cygnus.com
mailing list for the glibc project.
Signal handling broken with -lpthread
- To: libc-alpha@cygnus.com
- Subject: Signal handling broken with -lpthread
- From: "Akos Szalkai" <akos@is.s.u-tokyo.ac.jp>
- Date: 1 Sep 1998 18:57:12 -0000
- Cc: akos@is.s.u-tokyo.ac.jp
>Submitter-Id: net
>Originator: Akos Szalkai
>Organization:
>Confidential: no
>Synopsis: No sigaction-using program linked with libpthread works.
>Severity: critical
>Priority: high
>Category: libc
>Class: sw-bug
>Release: libc-2.0.95
>Environment:
Host type: i586-pc-linux-gnu
System: Linux vader 2.1.119 #144 H Aug 31 00:01:53 JST 1998 i586 unknown
Architecture: i586
Addons: crypt linuxthreads
Build CFLAGS: -O2
Build CC: gcc
Compiler version: egcs-2.91.56 19980829 (egcs-1.1 pre-release)
Kernel headers: 2.1.119
Symbol versioning: yes
Build static: yes
Build shared: yes
Build pic-default: no
Build profile: no
Build omitfp: no
Build bounded: no
Build static-nss: no
Stdio: libio
>Description:
It seems that any program using the sigaction function
segfaults if it is linked with -lpthread. The segmentation
fault does not occur with glibc-2.0.94 or if -lpthread is not
used.
>How-To-Repeat:
Consider the following trivial program:
-----cut here-----
#include <signal.h>
int
main (void)
{
struct sigaction old_action;
sigaction (SIGINT, 0, &old_action);
return 0;
}
-----cut here-----
Linking it with -lpthread, it causes a segfault when run. The
segfault does not occur if it is not linked with -lpthread.
>Fix: