diff --git a/src/db.cpp b/src/db.cpp index 0d5042bab..d8aa0dc47 100644 --- a/src/db.cpp +++ b/src/db.cpp @@ -643,8 +643,6 @@ void keysCommand(client *c) { unsigned long numkeys = 0; void *replylen = addReplyDeferredLen(c); - aeReleaseLock(); - di = dictGetSafeIterator(c->db->pdict); allkeys = (pattern[0] == '*' && pattern[1] == '\0'); while((de = dictNext(di)) != NULL) { @@ -662,12 +660,6 @@ void keysCommand(client *c) { } dictReleaseIterator(di); setDeferredArrayLen(c,replylen,numkeys); - - fastlock_unlock(&c->db->lock); // we must release the DB lock before acquiring the AE lock to prevent deadlocks - AeLocker lock; - lock.arm(c); - fastlock_lock(&c->db->lock); // we still need the DB lock - lock.release(); } /* This callback is used by scanGenericCommand in order to collect elements