Procházet zdrojové kódy

Fix busy loop when upload rate limit hits

Tatsuhiro Tsujikawa před 9 roky
rodič
revize
887f7a6b90
1 změnil soubory, kde provedl 6 přidání a 2 odebrání
  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 {