summaryrefslogtreecommitdiff
path: root/src/DownloadCommand.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2009-06-30 17:03:57 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2009-06-30 17:03:57 +0000
commitcf19dce8553d8a05f5d307835ea3c429d9eb63f2 (patch)
tree7326cc88a21d711218179d722c667dfaeaae249b /src/DownloadCommand.cc
parentcece2bc896b941d0c9b9d441460b5d32989268bd (diff)
2009-07-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
HTTP pipelining is now working. Fixed Segmention fault in BitfieldMan's copy ctor. * src/AbstractCommand.cc * src/BitfieldMan.cc * src/BitfieldMan.h * src/DownloadCommand.cc * src/HttpDownloadCommand.cc * src/HttpRequest.cc * src/SegmentMan.cc * src/SegmentMan.h * test/BitfieldManTest.cc * test/SegmentManTest.cc
Diffstat (limited to 'src/DownloadCommand.cc')
-rw-r--r--src/DownloadCommand.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/DownloadCommand.cc b/src/DownloadCommand.cc
index 8033a224..8bc3dbc7 100644
--- a/src/DownloadCommand.cc
+++ b/src/DownloadCommand.cc
@@ -229,9 +229,12 @@ bool DownloadCommand::executeInternal() {
#else // !ENABLE_MESSAGE_DIGEST
_requestGroup->getSegmentMan()->completeSegment(cuid, segment);
#endif // !ENABLE_MESSAGE_DIGEST
+ } else {
+ // If segment is not cacnel here, in the next pipelining
+ // request, aria2 requests bad range
+ // [FileEntry->getLastOffset(), FileEntry->getLastOffset())
+ _requestGroup->getSegmentMan()->cancelSegment(cuid, segment);
}
-
-
checkLowestDownloadSpeed();
// this unit is going to download another segment.
return prepareForNextSegment();