← Back to team overview

linuxdcpp-team team mailing list archive

[Branch ~dcplusplus-team/dcplusplus/trunk] Rev 3021: Guard waiting/connectingUsers by the mutex

 

------------------------------------------------------------
revno: 3021
committer: iceman50 <bdcdevel@xxxxxxxxx>
branch nick: dcplusplus
timestamp: Fri 2012-08-03 06:40:07 -0500
message:
  Guard waiting/connectingUsers by the mutex
modified:
  dcpp/UploadManager.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 'dcpp/UploadManager.cpp'
--- dcpp/UploadManager.cpp	2012-08-02 00:25:23 +0000
+++ dcpp/UploadManager.cpp	2012-08-03 11:40:07 +0000
@@ -284,10 +284,9 @@
 }
 
 void UploadManager::reserveSlot(const HintedUser& aUser) {
-	{
-		Lock l(cs);
-		reservedSlots.insert(aUser);
-	}
+	Lock l(cs);
+	reservedSlots.insert(aUser);
+
 	if(aUser.user->isOnline()) {
 		 auto it = find_if(waitingUsers.cbegin(), waitingUsers.cend(), [&](const UserPtr& u) { return u == aUser.user; });
 		 if(it != waitingUsers.cend()) {
@@ -473,6 +472,7 @@
 }
 
 void UploadManager::notifyQueuedUsers() {
+	Lock l(cs);
 	if(waitingUsers.empty()) return;	//no users to notify
 
 	int freeSlots = getFreeSlots();