added SIGPIPE catch

added select timeout
This commit is contained in:
Andrew Tridgell
1996-06-26 03:21:27 +00:00
parent 720b47f261
commit 58d433ab3c
5 changed files with 10 additions and 2 deletions

View File

@@ -42,6 +42,8 @@ rsync-0.9.tar.gz
rsync-1.0
rsync-1.1
rsync-1.1.tar.gz
rsync-1.2
rsync-1.2.tar.gz
rsync-ERSION
rsync.aux
rsync.dvi

5
io.c
View File

@@ -163,6 +163,7 @@ static int writefd(int fd,char *buf,int len)
{
int total = 0;
fd_set fds;
struct timeval tv;
if (buffer_f_in == -1)
return write(fd,buf,len);
@@ -180,7 +181,9 @@ static int writefd(int fd,char *buf,int len)
FD_ZERO(&fds);
FD_SET(fd,&fds);
select(16,NULL,&fds,NULL,NULL);
tv.tv_sec = BLOCKING_TIMEOUT;
tv.tv_usec = 0;
select(16,NULL,&fds,NULL,&tv);
} else {
total += ret;
}

1
main.c
View File

@@ -653,6 +653,7 @@ int main(int argc,char *argv[])
signal(SIGCHLD,SIG_IGN);
signal(SIGINT,SIGNAL_CAST sig_int);
signal(SIGPIPE,SIGNAL_CAST sig_int);
if (!sender && argc != 1) {
usage(stderr);

View File

@@ -29,6 +29,8 @@
/* block size to write files in */
#define WRITE_BLOCK_SIZE (32*1024)
#define BLOCKING_TIMEOUT 10
#include "config.h"
#include <sys/types.h>

View File

@@ -1 +1 @@
#define VERSION "1.1"
#define VERSION "1.3"