Commit 1812a22a authored by Roger Dingledine's avatar Roger Dingledine
Browse files

If we're trying to flush the last bytes on a connection (for

example, when answering a directory request), reset the  
time-to-give-up timeout every time we manage to write something
on the socket. Bugfix on 0.1.2.x.


svn:r13643
parent 88892294
......@@ -61,6 +61,10 @@ Changes in version 0.2.0.20-?? - 2008-02-??
cached from other authorities. Bugfix on 0.2.0.x. Fixes bug 606.
- Recover from bad tracked-since value in MTBF-history file.
Should fix bug 537.
- If we're trying to flush the last bytes on a connection (for
example, when answering a directory request), reset the
time-to-give-up timeout every time we manage to write something
on the socket. Bugfix on 0.1.2.x.
o Code simplifications and refactoring:
- Remove the tor_strpartition function: its logic was confused,
......
......@@ -573,11 +573,12 @@ conn_close_if_marked(int i)
if (retval >= 0 && /* Technically, we could survive things like
TLS_WANT_WRITE here. But don't bother for now. */
conn->hold_open_until_flushed && connection_wants_to_flush(conn)) {
if (retval > 0)
if (retval > 0) {
LOG_FN_CONN(conn, (LOG_INFO,LD_NET,
"Holding conn (fd %d) open for more flushing.",
conn->s));
/* XXX020rc should we reset timestamp_lastwritten here? */
conn->timestamp_lastwritten = now; /* reset so we can flush more */
}
return 0;
}
if (connection_wants_to_flush(conn)) {
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment