Rather than a loop subtracting 1e6 to convert usecs to secs/usecs, just

use div/mod.
This commit is contained in:
Martin Pool
2002-04-09 04:33:32 +00:00
parent 08571358b1
commit e681e82066

14
io.c
View File

@@ -405,14 +405,14 @@ static void sleep_for_bwlimit(int bytes_written)
if (!bwlimit)
return;
tv.tv_sec = 0;
tv.tv_usec = bytes_written * 1000 / bwlimit;
while (tv.tv_usec > 1000000) {
tv.tv_sec++;
tv.tv_usec -= 1000000;
}
assert(bytes_written > 0);
assert(bwlimit > 0);
tv.tv_usec = bytes_written * 1000 / bwlimit;
tv.tv_sec = tv.tv_usec / 1000000;
tv.tv_usec = tv.tv_usec % 1000000;
select(0, NULL, NULL, NULL, tv);
}