"Unexplained error code xxx" in rsync-2.5.5

Matthias Kurz mk at baerlap.north.de
Sun May 12 07:18:02 EST 2002


We sometimes/often get such errors. It occures in main.c/client_run().
I investigated further and found, that the waitpid() in
main.c/wait_process() exits with -1, errno = ECHILD, which means
"No children". *status can contain garbage in such cases - but not
always. It happens under Solaris-2.5.1/SPARC.
It (ECHILD) also happens on other Solaris versions - but there *status
seems to be always set to/left at 0, so the error slips through.

I cannot investigate further, because i'm under pressure. So i ask
you. This is a local copy operation:
   rsync -aC --exclude=README --exclude=Makefile . /u/tmp/bla
Is there a child process forked for a local copy at all ?

Another problem in main.c/wait_process(). A call to WEXITSTATUS(*status)
must only happen, when WIFEXITED(*status) returns true.
Else, WIFSIGNALED(*status) could be true, in which case the process was
terminated by a signal. One has to extract the signal number using
WTERMSIG(*stat)... and so on. There is also WIFSTOPPED() and


Matthias Kurz; Fuldastr. 3; D-28199 Bremen; VOICE +49 421 53 600 47
   >> Im prämotorischen Cortex kann jeder ein Held sein. (bdw) <<

More information about the rsync mailing list