Просмотр исходного кода

Fix busy loop when upload rate limit hits

Tatsuhiro Tsujikawa 9 лет назад
Родитель
Сommit
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 {