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()