diff --git a/ChangeLog b/ChangeLog index 91c607cf..2259a8c8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2009-03-07 Tatsuhiro Tsujikawa + + Call ServerStat::setError() in AbstractCommand::onAbort() to + effectively exclude failed server. + * src/AbstractCommand.cc + 2009-03-07 Tatsuhiro Tsujikawa Added --index-out option to specify each file path for torrent. diff --git a/src/AbstractCommand.cc b/src/AbstractCommand.cc index 361c4bdd..fd0ca927 100644 --- a/src/AbstractCommand.cc +++ b/src/AbstractCommand.cc @@ -214,6 +214,10 @@ bool AbstractCommand::prepareForRetry(time_t wait) { } void AbstractCommand::onAbort() { + // TODO This might be a problem if the failure is caused by proxy. + e->_requestGroupMan->getOrCreateServerStat(req->getHost(), + req->getProtocol())->setError(); + logger->debug(MSG_UNREGISTER_CUID, cuid); //_segmentMan->unregisterId(cuid); if(!_requestGroup->getPieceStorage().isNull()) {