From 887f7a6b90edca2215f2a86cb745b3ffff4ba2b6 Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Mon, 6 Jun 2016 23:41:33 +0900 Subject: [PATCH] Fix busy loop when upload rate limit hits --- src/PeerInteractionCommand.cc | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/PeerInteractionCommand.cc b/src/PeerInteractionCommand.cc index cfcd5d4d..b10fb3ce 100644 --- a/src/PeerInteractionCommand.cc +++ b/src/PeerInteractionCommand.cc @@ -360,8 +360,12 @@ bool PeerInteractionCommand::executeInternal() break; } } - if (btInteractive_->countPendingMessage() > 0 || - btInteractive_->isSendingMessageInProgress()) { + if ((btInteractive_->countPendingMessage() > 0 || + btInteractive_->isSendingMessageInProgress()) && + !getDownloadEngine() + ->getRequestGroupMan() + ->doesOverallUploadSpeedExceed() && + !requestGroup_->doesUploadSpeedExceed()) { setWriteCheckSocket(getSocket()); } else {