← Back to team overview

linuxdcpp-team team mailing list archive

[Branch ~dcplusplus-team/dcplusplus/trunk] Rev 3086: Fix a race condition on file list download

 

------------------------------------------------------------
revno: 3086
committer: eMTee <emtee11@xxxxxxxxx>
branch nick: dcplusplus
timestamp: Mon 2012-10-22 00:03:59 +0200
message:
  Fix a race condition on file list download
modified:
  changelog.txt
  dcpp/QueueManager.cpp


--
lp:dcplusplus
https://code.launchpad.net/~dcplusplus-team/dcplusplus/trunk

Your team Dcplusplus-team is subscribed to branch lp:dcplusplus.
To unsubscribe from this branch go to https://code.launchpad.net/~dcplusplus-team/dcplusplus/trunk/+edit-subscription
=== modified file 'changelog.txt'
--- changelog.txt	2012-10-21 13:56:27 +0000
+++ changelog.txt	2012-10-21 22:03:59 +0000
@@ -1,3 +1,5 @@
+* Fix a race condition on file list download (thanks bigmuscle)
+
 -- 0.802 2012-10-20 --
 * Perf improvements using lock-free queues, requires P6 CPUs (poy)
 * Reduce freezes when displaying file list dirs that contain lots of files (poy)

=== modified file 'dcpp/QueueManager.cpp'
--- dcpp/QueueManager.cpp	2012-09-21 19:56:41 +0000
+++ dcpp/QueueManager.cpp	2012-10-21 22:03:59 +0000
@@ -1057,8 +1057,8 @@
 						| (q->isSet(QueueItem::FLAG_MATCH_QUEUE) ? QueueItem::FLAG_MATCH_QUEUE : 0);
 				}
 
-				userQueue.remove(q);
 				fire(QueueManagerListener::Finished(), q, dir, d->getAverageSpeed());
+				userQueue.remove(q);
 
 				fire(QueueManagerListener::Removed(), q);
 				fileQueue.remove(q);