Commit bf57a576 authored by Jelte Jansen's avatar Jelte Jansen

[trac589] close the socket when tcp_server is done with a query

this is not RFC-compliant; it *should* keep the connection open for a while, which would involve another timeout etc. If we want that i suggest we create another task :) (it should fix the problem of running out of file descriptors)
parent ed6b07b6
......@@ -166,6 +166,9 @@ TCPServer::operator()(error_code ec, size_t length) {
// The 'done_' flag indicates whether we have an answer
// to send back. If not, exit the coroutine permanently.
if (!done_) {
// TODO: should we keep the connection open for a short time
// to see if new requests come in?
socket_->close();
CORO_YIELD return;
}
......@@ -184,6 +187,10 @@ TCPServer::operator()(error_code ec, size_t length) {
// (though we have nothing further to do, so the coroutine
// will simply exit at that time).
CORO_YIELD async_write(*socket_, bufs, *this);
// TODO: should we keep the connection open for a short time
// to see if new requests come in?
socket_->close();
}
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment