[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[vidalia-svn] r1239: Check if there is a receive waiter before trying to take one (trunk/src/control)
Author: edmanm
Date: 2006-09-25 15:47:43 -0400 (Mon, 25 Sep 2006)
New Revision: 1239
Modified:
trunk/src/control/controlconnection.cpp
Log:
Check if there is a receive waiter before trying to take one from the queue.
For example, we don't wait for a response to `signal shutdown` since old Tors
don't give us one; they just disappear.
Modified: trunk/src/control/controlconnection.cpp
===================================================================
--- trunk/src/control/controlconnection.cpp 2006-09-25 17:50:57 UTC (rev 1238)
+++ trunk/src/control/controlconnection.cpp 2006-09-25 19:47:43 UTC (rev 1239)
@@ -258,8 +258,10 @@
} else {
/* Response to a previous command */
_recvMutex.lock();
- waiter = _recvQueue.dequeue();
- waiter->setResult(Success, reply);
+ if (!_recvQueue.isEmpty()) {
+ waiter = _recvQueue.dequeue();
+ waiter->setResult(Success, reply);
+ }
_recvMutex.unlock();
}
}