diff options
Diffstat (limited to 'src/HttpServerBodyCommand.cc')
| -rw-r--r-- | src/HttpServerBodyCommand.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/HttpServerBodyCommand.cc b/src/HttpServerBodyCommand.cc index 2bb9d6d2..3665181e 100644 --- a/src/HttpServerBodyCommand.cc +++ b/src/HttpServerBodyCommand.cc @@ -79,7 +79,8 @@ HttpServerBodyCommand::HttpServerBodyCommand( // To handle Content-Length == 0 case setStatus(Command::STATUS_ONESHOT_REALTIME); e_->addSocketForReadCheck(socket_, this); - if (!httpServer_->getSocketRecvBuffer()->bufferEmpty()) { + if (!httpServer_->getSocketRecvBuffer()->bufferEmpty() || + socket_->getRecvBufferedLength()) { e_->setNoWait(true); } } @@ -178,6 +179,7 @@ bool HttpServerBodyCommand::execute() } try { if (socket_->isReadable(0) || (writeCheck_ && socket_->isWritable(0)) || + socket_->getRecvBufferedLength() || !httpServer_->getSocketRecvBuffer()->bufferEmpty() || httpServer_->getContentLength() == 0) { timeoutTimer_ = global::wallclock(); |
