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
This commit is contained in:
Roger Dingledine 2006-12-16 11:36:36 +00:00
parent 0cc7eaf302
commit b3b75a3bef

View File

@ -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. */