Explorar o código

write-limiting fix: avoid a rare bug where we don't remember
that there's stuff on the outbuf we want to flush.


svn:r9142

Roger Dingledine %!s(int64=19) %!d(string=hai) anos
pai
achega
b3b75a3bef
Modificáronse 1 ficheiros con 1 adicións e 0 borrados
  1. 1 0
      src/or/connection_or.c

+ 1 - 0
src/or/connection_or.c

@@ -714,6 +714,7 @@ connection_or_write_cell_to_buf(const cell_t *cell, or_connection_t *conn)
       conn->_base.outbuf_flushlen >= MIN_TLS_FLUSHLEN) {
     int extra = conn->_base.outbuf_flushlen - MIN_TLS_FLUSHLEN;
     conn->_base.outbuf_flushlen = MIN_TLS_FLUSHLEN;
+    connection_start_writing(TO_CONN(conn));
     if (connection_handle_write(TO_CONN(conn)) < 0) {
       if (!conn->_base.marked_for_close) {
         /* this connection is broken. remove it. */