diff options
author | Roger Dingledine <arma@torproject.org> | 2006-07-04 15:59:11 +0000 |
---|---|---|
committer | Roger Dingledine <arma@torproject.org> | 2006-07-04 15:59:11 +0000 |
commit | a4516c1e75453dec8a82c77617091b3d1bed8cb0 (patch) | |
tree | 37e47dc4c789bff09835812ac09ca9cf7c0326a0 /src/or | |
parent | 4ea26976ff486ac4966d74ed781d7685e55b6d47 (diff) | |
download | tor-a4516c1e75453dec8a82c77617091b3d1bed8cb0.tar.gz tor-a4516c1e75453dec8a82c77617091b3d1bed8cb0.zip |
backport: fix the "closing wedged cpuworkers" bug.
svn:r6718
Diffstat (limited to 'src/or')
-rw-r--r-- | src/or/cpuworker.c | 4 | ||||
-rw-r--r-- | src/or/dns.c | 4 |
2 files changed, 8 insertions, 0 deletions
diff --git a/src/or/cpuworker.c b/src/or/cpuworker.c index badca3563e..bece3456bc 100644 --- a/src/or/cpuworker.c +++ b/src/or/cpuworker.c @@ -473,6 +473,10 @@ assign_to_cpuworker(connection_t *cpuworker, uint8_t question_type, tag_pack(tag, circ->p_conn->addr, circ->p_conn->port, circ->p_circ_id); cpuworker->state = CPUWORKER_STATE_BUSY_ONION; + /* touch the lastwritten timestamp, since that's how we check to + * see how long it's been since we asked the question, and sometimes + * we check before the first call to connection_handle_write(). */ + cpuworker->timestamp_lastwritten = time(NULL); num_cpuworkers_busy++; connection_write_to_buf((char*)&question_type, 1, cpuworker); diff --git a/src/or/dns.c b/src/or/dns.c index ebbc5b75bd..5303ced78a 100644 --- a/src/or/dns.c +++ b/src/or/dns.c @@ -377,6 +377,10 @@ assign_to_dnsworker(connection_t *exitconn) tor_free(dnsconn->address); dnsconn->address = tor_strdup(exitconn->address); dnsconn->state = DNSWORKER_STATE_BUSY; + /* touch the lastwritten timestamp, since that's how we check to + * see how long it's been since we asked the question, and sometimes + * we check before the first call to connection_handle_write(). */ + dnsconn->timestamp_lastwritten = time(NULL); num_dnsworkers_busy++; len = strlen(dnsconn->address); |