|
From: Eyal L. <ey...@ey...> - 2005-01-17 13:39:32
|
Jeremy Fitzhardinge wrote:
> On Sun, 2005-01-16 at 17:20 -0800, Jeremy Fitzhardinge wrote:
>
>>Currently, when the sys_clone wrapper sees a clone() which is actually a
>>fork, it ends up using the fork() syscall instead. However, this
>>doesn't do the extra things that clone() can do, like writing the parent
>>and/or child pid into memory, which is what this assert checks for.
>
>
> OK, I just checked in a fix for this, so give it a go.
>
> J
I still see unusual reports every time I spawn a process. The references to
'status' are flagged as:
==2005-01-18 00:03:38.848 23963== Thread 2:
==2005-01-18 00:03:38.848 23963== Conditional jump or move depends on uninitialised value(s)
==2005-01-18 00:03:38.848 23963== at 0x1BEE2FCF: skspwn (spawn.c:477)
==2005-01-18 00:03:38.848 23963==
==2005-01-18 00:03:38.848 23963== Thread 2:
==2005-01-18 00:03:38.848 23963== Conditional jump or move depends on uninitialised value(s)
==2005-01-18 00:03:38.848 23963== at 0x1BEE2FF3: skspwn (spawn.c:479)
==2005-01-18 00:03:38.848 23963==
==2005-01-18 00:03:38.848 23963== Thread 2:
==2005-01-18 00:03:38.848 23963== Conditional jump or move depends on uninitialised value(s)
==2005-01-18 00:03:38.848 23963== at 0x1BEE3034: skspwn (spawn.c:484)
pid = fork();
if (0 == pid) { /* child */
handle child (exec)
}
if (pid < 0) {
handle failure
}
rc = waitpid (pid, &status, 0));
if (-1 == rc)
...
477 if (WIFEXITED (status)) {
rc = WEXITSTATUS (status); /* child ok */
479 if (rc) {
...
484 another use of 'rc'
The "uninitialised value" then progresses to the caller etc.
But this is not my real problem. Attached is a program that
aborts when I use waitpid() in place of wait(). This is my
current showstopper.
--
Eyal Lebedinsky (ey...@ey...) <http://samba.org/eyal/>
If attaching .zip rename to .dat
|