diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2009-07-13 15:02:32 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2009-07-13 15:02:32 +0000 |
| commit | 894641dfdbbdf8edd186476245b24f6bba7598ec (patch) | |
| tree | ab84892379313e94141ae1b3eab1e0494df20710 /src/AbstractCommand.cc | |
| parent | 19913203b72d5ec1e047053a264d01d74e1e9d39 (diff) | |
2009-07-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Don't call prepareForRetry(1) if all segments are ignored in
SegmentMan.
* src/AbstractCommand.cc
* src/BitfieldMan.cc
* src/BitfieldMan.h
* src/SegmentMan.cc
* src/SegmentMan.h
Diffstat (limited to 'src/AbstractCommand.cc')
| -rw-r--r-- | src/AbstractCommand.cc | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/AbstractCommand.cc b/src/AbstractCommand.cc index aa8d4b3b..7899f5a4 100644 --- a/src/AbstractCommand.cc +++ b/src/AbstractCommand.cc @@ -149,7 +149,13 @@ bool AbstractCommand::execute() { if(_segments.empty()) { // TODO socket could be pooled here if pipelining is enabled... logger->info(MSG_NO_SEGMENT_AVAILABLE, cuid); - return prepareForRetry(1); + // When all segments are ignored in SegmentMan, there are + // no URIs available, so don't retry. + if(_requestGroup->getSegmentMan()->allSegmentsIgnored()) { + return true; + } else { + return prepareForRetry(1); + } } } else { size_t maxSegments = req->getMaxPipelinedRequest(); |
