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]

Reply via email to