From 484a4078f56ecdd50c7a316e48a4de173cbbb2dd Mon Sep 17 00:00:00 2001 From: Martin Nilsson <nilsson@opera.com> Date: Tue, 31 Mar 2015 07:19:31 +0200 Subject: [PATCH] Simplified queue_write a bit. --- lib/modules/SSL.pmod/File.pike | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/lib/modules/SSL.pmod/File.pike b/lib/modules/SSL.pmod/File.pike index ef8046c875..cdce384c56 100644 --- a/lib/modules/SSL.pmod/File.pike +++ b/lib/modules/SSL.pmod/File.pike @@ -1735,14 +1735,14 @@ protected int queue_write() { if (!conn) return -1; - // Estimate how much data there is in the write_buffer. - int got = sizeof(write_buffer); - int buffer_limit = 16384; if (conn->state & CONNECTION_closing) buffer_limit = 1; int|string res; - while (got < buffer_limit) { + + // Allow write_buffer to contain at most buffer_limit + 2^14 + 2048 + // bytes. + while (sizeof(write_buffer) < buffer_limit) { res = conn->to_write(); #ifdef SSL3_DEBUG_TRANSPORT @@ -1762,10 +1762,7 @@ protected int queue_write() break; } - int was_empty = !sizeof (write_buffer); write_buffer->add(res); - got += sizeof(res); - SSL3_DEBUG_MSG ("queue_write: Got %d bytes to write (%d bytes buffered)\n", sizeof (res), sizeof (write_buffer)); res = 0; -- GitLab