At Sun, 11 Jul 2004 15:12:14 +0530,
Aneesh Kumar K.V <[EMAIL PROTECTED]> wrote:
> 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);
>
> }
> }
On 2.4:
[EMAIL PROTECTED])~/258740$ ./test &
[1] 6373
[EMAIL PROTECTED])~/258740$ kill -TERM 6373
[EMAIL PROTECTED])~/258740$
[1]+ Terminated ./test
On 2.6 installed nptl:
[EMAIL PROTECTED]:~/debian/glibc/bugs/258740$ ./test &
[1] 17972
[EMAIL PROTECTED]:~/debian/glibc/bugs/258740$ kill -TERM 17972
[1]+ Terminated ./test
[EMAIL PROTECTED]:~/debian/glibc/bugs/258740$ LD_ASSUME_KERNEL=2.4.1 ./test &
[1] 17973
[EMAIL PROTECTED]:~/debian/glibc/bugs/258740$ kill -TERM 17973
[EMAIL PROTECTED]:~/debian/glibc/bugs/258740$
[1]+ Terminated LD_ASSUME_KERNEL=2.4.1 ./test
> 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 )
Note that rt_sigtimedwait was already implemented in 2.2.
BTW, you need to write the exact kernel version, you architecture and
the existence of libc6-i686.
Regards,
-- gotom
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]