On 2007/03/14 at 16:30:31 Florian Weimer <[EMAIL PROTECTED]> wrote > * Michal Sabala: > > > The perl program in question is a single thread process using Net::Pcap > > to capture and analyze network traffic. Every few weeks the program > > hangs in pthread_setcanceltype(). > > > I'm investigating is forcing LinuxThreads instead of NPTL will bypass > > the issue. Also, I've had a RHEL4 machine hang in futex. > > Does your program call setuid or something like that? Does it fork?
Hello Florian, The program sets $EGID and $EUID right after it starts to drop from root to non-privileged user. During operation, it forks and execs a child process (every few minutes). $SIG{CHLD} is: sub handlerCHLD { my $child = 0; my $waitAttempts = 3; while ( ($child = waitpid( -1, WNOHANG)) > 0 && $waitAttempts > 0 ){ print "Waited for child process PID=$child\n"; $waitAttempts--; } $SIG{CHLD} = \&handlerCHLD; # } before launching the next child process, parent process does: if ( defined $oldChild && waitpid( $oldChild, WNOHANG ) == 0 ){ print "Child process pid=$oldChild is still running!! killing it!!!\n"; kill 9, $oldChild; } Kill is never called with the child process I'm using (as it completes quickly). Thanks in-advance for all suggestions and input. Michal -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]