diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | src/or/main.c | 5 |
2 files changed, 7 insertions, 2 deletions
@@ -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, diff --git a/src/or/main.c b/src/or/main.c index 568de4d6c7..313c33f06a 100644 --- a/src/or/main.c +++ b/src/or/main.c @@ -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)) { |