lkml.org 
[lkml]   [1998]   [Nov]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Possible bug in wait4(), 2.1.126-129 ?
Hi,

I've verified a few things:

1. it's not a glibc vs. libc5 issue, the same C program compiled against
either one causes the same error.

2. however, the program *must* be run on a glibc system (rh51), it doesn't
exhibit the error on a libc5 system (rh42). Note that all my systems have
compatibility libraries, glibc on rh42 and libc5 on rh51.

3. it's not a perl issue, a very simple C program (attached) will do as
well.

4. the program *must* be run from cron, doesn't matter which user.

5. the parent must *not* be blocked in the wait4() call when the child
exits; it doesn't matter what the child or the parent are doing in the
meantime as long as the parent calls wait4() *after* receiving SIGCHLD.

Can *anybody* reproduce this behavior? I refuse to believe I'm the only
one who sees it, I can reproduce it locally on 30+ boxes and two different
architectures (intel and ultrasparc)! It's simple: compile the attached C
program, run it on a rh51 box from cron, as any user, and it should send
you a mail with the message:

wait4: No child processes

Thanks,
Ion

--
It is better to keep your mouth shut and be thought a fool,
than to open it and remove all doubt.

------------------------
#include <stdio.h>

int main(void)
{
int pid;
int status;

if ((pid = fork()) < 0) {
perror("fork");
exit(1);
}

if (pid == 0) { //child
return 0;
} else { //parent
sleep(5);
if (wait4(pid, &status, 0, NULL) < 0)
perror("wait4");
}
return 0;
}



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:45    [W:0.080 / U:0.412 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site