Parcourir la source

Fix busy loop when upload rate limit hits

Tatsuhiro Tsujikawa il y a 9 ans
Parent
commit
887f7a6b90
1 fichiers modifiés avec 6 ajouts et 2 suppressions
  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 {