I've determined what seems to be a work-around for this unexplained error.
I'm not a programmer, so I don't know for sure why it works, but adding a
call to msleep() for 200 ms in the following sections of main.c fixes
things. Hopefully, someone with more knowledge of this program can tell me
I've seen this error on HP-UX systems as well. I spent a couple hours picking through
the source trying to track it down, but so far no luck.
What I have discovered:
+ It's still broken as of last night's CVS version
+ It only seems to happen when sending files from an HP-UX system
On Wed, May 29, 2002 at 05:47:10PM -0400, Allen D. Winter wrote:
Once upon a time I threw printfs all over the source looking to track down
the cause of this problem. Seemingly a random error code is generated
each time rsync is run *succesfully* on HPUX.
I finally found that in the
On Wed, 29 May 2002, Allen D. Winter wrote:
I finally found that in the wait_process() function in main.c, the status
value returned from WEXITSTATUS() was apparently returning
the pid of the child instead of the exit status of the child... or something
like that.
Or something not like
On Thu, May 30, 2002 at 11:53:34AM -0400, Paul Haas wrote:
On Wed, 29 May 2002, Allen D. Winter wrote:
Much stuff snipped..
The EINTR case doesn't make sense with WNOHANG, but HP-UX doesn't always
do things that make sense. If you get the Now what should I do?
message, then add code to
Since the process didn't exit, it must still be in the process table.
When you get to this state have your process do something like:
fprintf(stderr, The weird process is pid %d\n,pid);
fflush(stderr);
sleep(1000);
Then see what ps says about that process. If that doesn't offer any
Once upon a time I threw printfs all over the source looking to track down
the cause of this problem. Seemingly a random error code is generated
each time rsync is run *succesfully* on HPUX.
I finally found that in the wait_process() function in main.c, the status
value returned from