Loading src/or/buffers.c +15 −7 Original line number Diff line number Diff line Loading @@ -231,7 +231,8 @@ buf_shrink_freelists(int free_all) int n_to_skip = freelists[i].cur_length - n_to_free; chunk_t **chp = &freelists[i].head; chunk_t *chunk; log_notice(LD_MM, "FL for %d: keep %d, drop %d.", log_info(LD_MM, "Cleaning freelist for %d-byte chunks: keeping %d, " "dropping %d.", (int)freelists[i].alloc_size, n_to_skip, n_to_free); while (n_to_skip) { tor_assert((*chp)->next); Loading Loading @@ -670,12 +671,19 @@ flush_chunk_tls(tor_tls_t *tls, buf_t *buf, chunk_t *chunk, { int r; size_t forced; char *data; forced = tor_tls_get_forced_write_size(tls); if (forced > sz) sz = forced; if (chunk) { data = chunk->data; tor_assert(sz <= chunk->datalen); r = tor_tls_write(tls, chunk->data, sz); } else { data = NULL; tor_assert(sz == 0); } r = tor_tls_write(tls, data, sz); if (r < 0) return r; if (*buf_flushlen > (size_t)r) Loading Loading @@ -742,7 +750,7 @@ flush_buf_tls(tor_tls_t *tls, buf_t *buf, size_t flushlen, size_t *buf_flushlen) check_no_tls_errors(); check(); while (sz >= 0) { do { size_t flushlen0; if (buf->head) { if ((ssize_t)buf->head->datalen >= sz) Loading @@ -759,7 +767,7 @@ flush_buf_tls(tor_tls_t *tls, buf_t *buf, size_t flushlen, size_t *buf_flushlen) return r; flushed += r; sz -= r; } } while (sz > 0); return flushed; } Loading Loading
src/or/buffers.c +15 −7 Original line number Diff line number Diff line Loading @@ -231,7 +231,8 @@ buf_shrink_freelists(int free_all) int n_to_skip = freelists[i].cur_length - n_to_free; chunk_t **chp = &freelists[i].head; chunk_t *chunk; log_notice(LD_MM, "FL for %d: keep %d, drop %d.", log_info(LD_MM, "Cleaning freelist for %d-byte chunks: keeping %d, " "dropping %d.", (int)freelists[i].alloc_size, n_to_skip, n_to_free); while (n_to_skip) { tor_assert((*chp)->next); Loading Loading @@ -670,12 +671,19 @@ flush_chunk_tls(tor_tls_t *tls, buf_t *buf, chunk_t *chunk, { int r; size_t forced; char *data; forced = tor_tls_get_forced_write_size(tls); if (forced > sz) sz = forced; if (chunk) { data = chunk->data; tor_assert(sz <= chunk->datalen); r = tor_tls_write(tls, chunk->data, sz); } else { data = NULL; tor_assert(sz == 0); } r = tor_tls_write(tls, data, sz); if (r < 0) return r; if (*buf_flushlen > (size_t)r) Loading Loading @@ -742,7 +750,7 @@ flush_buf_tls(tor_tls_t *tls, buf_t *buf, size_t flushlen, size_t *buf_flushlen) check_no_tls_errors(); check(); while (sz >= 0) { do { size_t flushlen0; if (buf->head) { if ((ssize_t)buf->head->datalen >= sz) Loading @@ -759,7 +767,7 @@ flush_buf_tls(tor_tls_t *tls, buf_t *buf, size_t flushlen, size_t *buf_flushlen) return r; flushed += r; sz -= r; } } while (sz > 0); return flushed; } Loading