Modules TSC: Release the GIL for all the time we are blocked.

Instead of giving the module background operations just a small time to
run in the beforeSleep() function, we can have the lock released for all
the time we are blocked in the multiplexing syscall.
This commit is contained in:
antirez
2017-05-03 11:26:21 +02:00
parent fcd9a07df0
commit c4b884958e
6 changed files with 100 additions and 22 deletions

View File

@ -1294,7 +1294,9 @@ void unblockClientFromModule(client *c);
void moduleHandleBlockedClients(void);
void moduleBlockedClientTimedOut(client *c);
void moduleBlockedClientPipeReadable(aeEventLoop *el, int fd, void *privdata, int mask);
void moduleCooperativeMultiTaskingCycle(void);
size_t moduleCount(void);
void moduleAcquireGIL(void);
void moduleReleaseGIL(void);
/* Utils */
long long ustime(void);