[SCM] The rsync repository. - branch master updated

Rsync CVS commit messages rsync-cvs at lists.samba.org
Sat Jun 4 13:07:59 MDT 2011


The branch, master has been updated
       via  e3bc529 Handle EINTR when reading the pre-xfer exec message.
      from  820f7a7 Send error messages from pre-xfer exec script to the user.

;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit e3bc529de9b7d0e98c492677f73a8127a1d74d35
Author: Wayne Davison <wayned at samba.org>
Date:   Sat Jun 4 12:08:18 2011 -0700

    Handle EINTR when reading the pre-xfer exec message.

-----------------------------------------------------------------------

Summary of changes:
 clientserver.c |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)


Changeset truncated at 500 lines:

diff --git a/clientserver.c b/clientserver.c
index 8fedbe6..91612ea 100644
--- a/clientserver.c
+++ b/clientserver.c
@@ -374,7 +374,14 @@ static char *finish_pre_exec(pid_t pid, int write_fd, int read_fd, char *request
 
 	/* Read the stdout from the pre-xfer exec program.  This it is only
 	 * displayed to the user if the script also returns an error status. */
-	for (bp = buf; msglen > 0 && (j = read(read_fd, bp, msglen)) > 0; msglen -= j) {
+	for (bp = buf; msglen > 0; msglen -= j) {
+		if ((j = read(read_fd, bp, msglen)) <= 0) {
+			if (j == 0)
+				break;
+			if (errno == EINTR)
+				continue;
+			break; /* Just ignore the read error for now... */
+		}
 		bp += j;
 		if (j > 1 && bp[-1] == '\n' && bp[-2] == '\r') {
 			bp--;


-- 
The rsync repository.


More information about the rsync-cvs mailing list