Matt McCutchen's Web Site
/
rsync
/
rsync.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
got rid of some unused variables
[rsync/rsync.git]
/
io.c
diff --git
a/io.c
b/io.c
index
fbaf6a3
..
b469d8b
100644
(file)
--- a/
io.c
+++ b/
io.c
@@
-27,6
+27,8
@@
/* if no timeout is specified then use a 60 second select timeout */
#define SELECT_TIMEOUT 60
/* if no timeout is specified then use a 60 second select timeout */
#define SELECT_TIMEOUT 60
+extern int bwlimit;
+
static int io_multiplexing_out;
static int io_multiplexing_in;
static int multiplex_in_fd;
static int io_multiplexing_out;
static int io_multiplexing_in;
static int multiplex_in_fd;
@@
-37,16
+39,10
@@
extern int verbose;
extern int io_timeout;
extern struct stats stats;
extern int io_timeout;
extern struct stats stats;
-static int buffer_f_in = -1;
static int io_error_fd = -1;
static void read_loop(int fd, char *buf, int len);
static int io_error_fd = -1;
static void read_loop(int fd, char *buf, int len);
-void setup_readbuffer(int f_in)
-{
- buffer_f_in = f_in;
-}
-
static void check_timeout(void)
{
extern int am_server, am_daemon;
static void check_timeout(void)
{
extern int am_server, am_daemon;
@@
-321,11
+317,7
@@
unsigned char read_byte(int f)
return c;
}
return c;
}
-
-
-/* write len bytes to fd, possibly reading from buffer_f_in if set
- in order to unclog the pipe. don't return until all len
- bytes have been written */
+/* write len bytes to fd */
static void writefd_unbuffered(int fd,char *buf,int len)
{
int total = 0;
static void writefd_unbuffered(int fd,char *buf,int len)
{
int total = 0;
@@
-388,6
+380,19
@@
static void writefd_unbuffered(int fd,char *buf,int len)
exit_cleanup(RERR_STREAMIO);
}
exit_cleanup(RERR_STREAMIO);
}
+ /* Sleep after writing to limit I/O bandwidth */
+ if (bwlimit)
+ {
+ tv.tv_sec = 0;
+ tv.tv_usec = ret * 1000 / bwlimit;
+ while (tv.tv_usec > 1000000)
+ {
+ tv.tv_sec++;
+ tv.tv_usec -= 1000000;
+ }
+ select(0, NULL, NULL, NULL, &tv);
+ }
+
total += ret;
if (io_timeout)
total += ret;
if (io_timeout)
@@
-608,8
+613,3
@@
void io_multiplexing_close(void)
io_multiplexing_out = 0;
}
io_multiplexing_out = 0;
}
-void io_close_input(int fd)
-{
- buffer_f_in = -1;
-}
-