diff options
author | Max Kellermann <max@duempel.org> | 2014-01-04 17:42:03 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2014-01-04 17:42:03 +0100 |
commit | 68fcc195657fa31b47bc9504286a9b31feda92dc (patch) | |
tree | 223c2ef36aebe471b5600b52ed56ea567d007934 /src/output/HttpdClient.cxx | |
parent | 8e4efd071e8eef033d0a68f6cf60f3910599a1a9 (diff) | |
download | mpd-68fcc195657fa31b47bc9504286a9b31feda92dc.tar.gz mpd-68fcc195657fa31b47bc9504286a9b31feda92dc.tar.xz mpd-68fcc195657fa31b47bc9504286a9b31feda92dc.zip |
output/httpd: move queue size check to HttpdClient::PushPage()
Don't let the server care for client problems.
Diffstat (limited to '')
-rw-r--r-- | src/output/HttpdClient.cxx | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/output/HttpdClient.cxx b/src/output/HttpdClient.cxx index d16f78942..c0b2429d2 100644 --- a/src/output/HttpdClient.cxx +++ b/src/output/HttpdClient.cxx @@ -387,6 +387,12 @@ HttpdClient::PushPage(Page *page) /* the client is still writing the HTTP request */ return; + if (queue_size > 256 * 1024) { + FormatDebug(httpd_output_domain, + "client is too slow, flushing its queue"); + ClearQueue(); + } + page->Ref(); pages.push(page); queue_size += page->size; |