[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#258740: sigwait and -lpthread.



Package:libc6-dev
version: 2.3.2.ds1-13

When i link the below program with -lpthread I can't kill the application with SIGTERM. I found that /proc/<pid>/status list some different SigBlk


#include <stdio.h>
#include <signal.h>
#include <sys/wait.h>

main()
{
       sigset_t set;
       int sig;
       sigemptyset(&set);

       sigaddset(&set,SIGCHLD);
       sigwait(&set, &sig);
       if(sig == SIGCHLD ){

               /*
                * Removing the zombie(s)
                */
               while(wait3(NULL,WNOHANG,NULL) > 0) ;
       } else {

printf("Received a signal on which i was not doing a sigwait \n");
               exit(1);

       }
}

I am running this on a 2.4 kernel. With 2.6 it seems to work fine. ( I found that 2.6 strace reports rt_sigtimedwait where as strace with 2.4 reports rt_sigsuspend )

$more /etc/debian_version
testing/unstable

$ dpkg --status libc6-dev
Package: libc6-dev
Status: install ok installed
Priority: standard
Section: libdevel
Installed-Size: 8672
Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org>
Source: glibc
Version: 2.3.2.ds1-13
Replaces: man-db (<= 2.3.10-41), gettext (<= 0.10.26-1), ppp (<= 2.2.0f-24), libgdbmg1-dev (<= 1.7.3-24), ldso (<= 1.9.11-9), netkit-rpc, netbase (<< 4.0), kerberos4th-dev (<< 1.2.2-10)
Provides: libc-dev
Depends: libc6 (= 2.3.2.ds1-13), linux-kernel-headers
Recommends: c-compiler
Suggests: glibc-doc, manpages-dev
Conflicts: libstdc++2.10-dev (<< 1:2.95.2-15), gcc-2.95 (<< 1:2.95.3-9), libpthread0-dev, libdl1-dev, libdb1-dev, libgdbm1-dev, libc6-dev (<< 2.0.110-1), locales (<< 2.1.3-5), libstdc++2.9-dev, netkit-rpc, libc-dev







Reply to: