aboutsummaryrefslogtreecommitdiff
path: root/src/or/main.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2007-07-30 01:32:12 +0000
committerNick Mathewson <nickm@torproject.org>2007-07-30 01:32:12 +0000
commit915c4c3ab8faae79151fbeb0f2116b56d52b0f5d (patch)
treeb247296d0f94bb1ed2a0b8dc49b9ce2351684440 /src/or/main.c
parenta3b8b2c4e362d74e56356faf9889c64b92e9eabc (diff)
downloadtor-915c4c3ab8faae79151fbeb0f2116b56d52b0f5d.tar
tor-915c4c3ab8faae79151fbeb0f2116b56d52b0f5d.tar.gz
r14001@catbus: nickm | 2007-07-29 21:31:53 -0400
Try to call time(NULL) a little less. svn:r10980
Diffstat (limited to 'src/or/main.c')
-rw-r--r--src/or/main.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/or/main.c b/src/or/main.c
index 7ca7b16ae..25a0f3261 100644
--- a/src/or/main.c
+++ b/src/or/main.c
@@ -564,18 +564,20 @@ conn_close_if_marked(int i)
{
connection_t *conn;
int retval;
+ time_t now;
conn = smartlist_get(connection_array, i);
if (!conn->marked_for_close)
return 0; /* nothing to see here, move along */
- assert_connection_ok(conn, time(NULL));
+ now = time(NULL);
+ assert_connection_ok(conn, now);
assert_all_pending_dns_resolves_ok();
log_debug(LD_NET,"Cleaning up connection (fd %d).",conn->s);
if ((conn->s >= 0 || conn->linked_conn) && connection_wants_to_flush(conn)) {
/* s == -1 means it's an incomplete edge connection, or that the socket
* has already been closed as unflushable. */
- int sz = connection_bucket_write_limit(conn);
+ int sz = connection_bucket_write_limit(conn, now);
if (!conn->hold_open_until_flushed)
log_info(LD_NET,
"Conn (addr %s, fd %d, type %s, state %d) marked, but wants "
@@ -1143,7 +1145,7 @@ second_elapsed_callback(int fd, short event, void *args)
control_event_stream_bandwidth_used();
if (seconds_elapsed > 0)
- connection_bucket_refill(seconds_elapsed);
+ connection_bucket_refill(seconds_elapsed, now.tv_sec);
stats_prev_global_read_bucket = global_read_bucket;
stats_prev_global_write_bucket = global_write_bucket;