From a1f0d44c9f75651c39a98ec1887cf442e74ea904 Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Sat, 23 Feb 2008 15:37:47 +0000 Subject: [PATCH] 2008-02-24 Tatsuhiro Tsujikawa Fixed the bug that prevents aria2 from stopping other than by pressing Ctrl-C in BitTorrent download. It is reproducible using --seed-time option. aria2 doesn't stop even after --seed-time is satisfied and continues to output blank lines in the console. * src/ReceiverMSEHandshakeCommand.cc * src/PeerReceiveHandshakeCommand.cc * src/PeerListenCommand.cc --- ChangeLog | 10 ++++++++++ src/PeerListenCommand.cc | 2 +- src/PeerReceiveHandshakeCommand.cc | 3 ++- src/ReceiverMSEHandshakeCommand.cc | 3 ++- 4 files changed, 15 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 86f87902..9037a58a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2008-02-24 Tatsuhiro Tsujikawa + + Fixed the bug that prevents aria2 from stopping other than by pressing + Ctrl-C in BitTorrent download. It is reproducible using --seed-time + option. aria2 doesn't stop even after --seed-time is satisfied and + continues to output blank lines in the console. + * src/ReceiverMSEHandshakeCommand.cc + * src/PeerReceiveHandshakeCommand.cc + * src/PeerListenCommand.cc + 2008-02-21 Tatsuhiro Tsujikawa Bump up version number to 0.13.0rc diff --git a/src/PeerListenCommand.cc b/src/PeerListenCommand.cc index 05db0e57..6c160b97 100644 --- a/src/PeerListenCommand.cc +++ b/src/PeerListenCommand.cc @@ -85,7 +85,7 @@ int32_t PeerListenCommand::bindPort(IntSequence& seq) } bool PeerListenCommand::execute() { - if(e->isHaltRequested() || e->_requestGroupMan->countRequestGroup() == 0) { + if(e->isHaltRequested() || e->_requestGroupMan->downloadFinished()) { return true; } for(int32_t i = 0; i < 3 && socket->isReadable(0); i++) { diff --git a/src/PeerReceiveHandshakeCommand.cc b/src/PeerReceiveHandshakeCommand.cc index 598f1c92..55efe66d 100644 --- a/src/PeerReceiveHandshakeCommand.cc +++ b/src/PeerReceiveHandshakeCommand.cc @@ -51,6 +51,7 @@ #include "Logger.h" #include "prefs.h" #include "Option.h" +#include "RequestGroupMan.h" namespace aria2 { @@ -76,7 +77,7 @@ PeerReceiveHandshakeCommand::~PeerReceiveHandshakeCommand() {} bool PeerReceiveHandshakeCommand::exitBeforeExecute() { - return e->isHaltRequested(); + return e->isHaltRequested() || e->_requestGroupMan->downloadFinished(); } bool PeerReceiveHandshakeCommand::executeInternal() diff --git a/src/ReceiverMSEHandshakeCommand.cc b/src/ReceiverMSEHandshakeCommand.cc index 01e4ff1e..b99133e1 100644 --- a/src/ReceiverMSEHandshakeCommand.cc +++ b/src/ReceiverMSEHandshakeCommand.cc @@ -47,6 +47,7 @@ #include "MSEHandshake.h" #include "ARC4Encryptor.h" #include "ARC4Decryptor.h" +#include "RequestGroupMan.h" namespace aria2 { @@ -70,7 +71,7 @@ ReceiverMSEHandshakeCommand::~ReceiverMSEHandshakeCommand() bool ReceiverMSEHandshakeCommand::exitBeforeExecute() { - return e->isHaltRequested(); + return e->isHaltRequested() || e->_requestGroupMan->downloadFinished(); } bool ReceiverMSEHandshakeCommand::executeInternal()