rsync error: unexplained error
jw schultz
jw at pegasys.ws
Sun Sep 1 15:35:01 EST 2002
To start with, use the carrage return and don't send html.
This sounds like a problem that was fixed a few months ago.
You might try searching archives. Upgrade to current
(2.5.5) or the CVS tree.
And please send any changes as diff -u against up-to-date
CVS (see diff(1) and patch(1)) encoded as text/plain or flat
ascii. With what you sent it is unclear what you changed
and requires much work to apply changes.
On Sun, Sep 01, 2002 at 05:12:32PM -0700, David R. Staples wrote: (reformatted)
> I believe I have found the cause of the unexplained error
> (code ??) at main.c(line #). In the version I'm running
> 2.5.2 (obtained from the Free Software Foundation) the line
> number is 576. It appears the root cause is related to a
> race condition associated with the termination of child
> processes.
>
> If the signal handler for SIGCHILD is executed, as the
> result of a child termination, before the wait_process
> procedure is executed, the status of pid (as passed to
> wait_process) will not be available and the waitpid call in
> wait_process will fail with an ECHILD error. If however,
> wait_process executes first, it will successfully obtain the
> exit status of pid and the sigchld_handler can execute, to
> eliminate zombies, with no adverse affects. Since signal
> handlers execute asynchronously there is no way to predict
> when, if at all, a process will encounter this problem.
>
> I am providing below proposed new code that should resolve
> the problem. Certainly I can make these changes within my
> own environment, but since I would like to remain consistent
> with the rsync project, I would like to here from someone
> regarding incorporation of these changes into rsync or an
> alternative (official) method to fixing this problem. I can
> be reached at drstaples at beckman.com;
> drstaples at drstaples.com; or drstapl at empirenet.com
>
> Sincerely,
> David R. Staples
>
> --------------------------------------------------------------------------------
> Proposed new code in main.c
[snip]
More information about the rsync
mailing list