Przeglądaj źródła

2010-06-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>

	Return null if written length > 0 even if SegmentEntry->cuid
	equals given cuid.
	* src/SegmentMan.cc
Tatsuhiro Tsujikawa 15 lat temu
rodzic
commit
8a619ab9b9
2 zmienionych plików z 9 dodań i 3 usunięć
  1. 6 0
      ChangeLog
  2. 3 3
      src/SegmentMan.cc

+ 6 - 0
ChangeLog

@@ -1,3 +1,9 @@
+2010-06-26  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
+
+	Return null if written length > 0 even if SegmentEntry->cuid
+	equals given cuid.
+	* src/SegmentMan.cc
+
 2010-06-26  Tatsuhiro Tsujikawa  <t-tujikawa@users.sourceforge.net>
 
 	Fixed compiler warning without bittorrent support

+ 3 - 3
src/SegmentMan.cc

@@ -220,12 +220,12 @@ SharedHandle<Segment> SegmentMan::getCleanSegmentIfOwnerIsIdle
         eoi = usedSegmentEntries_.end(); itr != eoi; ++itr) {
     const SharedHandle<SegmentEntry>& segmentEntry = *itr;
     if(segmentEntry->segment->getIndex() == index) {
-      if(segmentEntry->cuid == cuid) {
-        return segmentEntry->segment;
-      }
       if(segmentEntry->segment->getWrittenLength() > 0) {
         return SharedHandle<Segment>();
       }
+      if(segmentEntry->cuid == cuid) {
+        return segmentEntry->segment;
+      }
       cuid_t owner = segmentEntry->cuid;
       SharedHandle<PeerStat> ps = getPeerStat(owner);
       if(ps.isNull() || (!ps.isNull() && ps->getStatus() == PeerStat::IDLE)) {