From 337eb297a1c553bace2e07d8e6e43379a8e23d68 Mon Sep 17 00:00:00 2001 From: a00817524 Date: Fri, 8 Sep 2023 19:29:21 +0000 Subject: [PATCH] review rework --- src/ae.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/ae.cpp b/src/ae.cpp index 69c61e59a..00e2298dc 100644 --- a/src/ae.cpp +++ b/src/ae.cpp @@ -183,9 +183,11 @@ void aeProcessCmd(aeEventLoop *eventLoop, int fd, void *, int ) } case AE_ASYNC_OP::PostAsynDBFunction: { //added to support async api IStorage - std::unique_lock ulock(g_lock, std::defer_lock); - if (cmd.fLock) - ulock.lock(); + if (cmd.fLock && !ulock.owns_lock()) { + g_forkLock.releaseRead(); + ulock.lock(); + g_forkLock.acquireRead(); + } ((aePostFunctionTokenProc*)cmd.tproc)(eventLoop,(StorageToken*)cmd.clientData); break; }