Make processClients reentrant
Former-commit-id: e39bdb58ec28d80c5ed2cf15ef6bc7b884e14d4b
This commit is contained in:
parent
589e95e0c8
commit
1d0378e0dc
@ -2573,7 +2573,9 @@ void processClients()
|
|||||||
{
|
{
|
||||||
serverAssert(GlobalLocksAcquired());
|
serverAssert(GlobalLocksAcquired());
|
||||||
|
|
||||||
for (client *c : serverTL->vecclientsProcess) {
|
while (!serverTL->vecclientsProcess.empty()) {
|
||||||
|
client *c = serverTL->vecclientsProcess.front();
|
||||||
|
serverTL->vecclientsProcess.erase(serverTL->vecclientsProcess.begin());
|
||||||
/* There is more data in the client input buffer, continue parsing it
|
/* There is more data in the client input buffer, continue parsing it
|
||||||
* in case to check if there is a full command to execute. */
|
* in case to check if there is a full command to execute. */
|
||||||
std::unique_lock<fastlock> ul(c->lock);
|
std::unique_lock<fastlock> ul(c->lock);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user