소스 검색

Fix busy loop when upload rate limit hits

Tatsuhiro Tsujikawa 9 년 전
부모
커밋
887f7a6b90
1개의 변경된 파일6개의 추가작업 그리고 2개의 파일을 삭제
  1. 6 2
      src/PeerInteractionCommand.cc

+ 6 - 2
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 {