A module may be triggered synchronously in a non-module context. In this scenario we don't lock again as the server thread acquisition is sufficient. If we did try to lock we would deadlock
| 5965 | // A module may be triggered synchronously in a non-module context. In this scenario we don't lock again |
| 5966 | // as the server thread acquisition is sufficient. If we did try to lock we would deadlock |
| 5967 | static bool FModuleCallBackLock(bool fServerThread) |
| 5968 | { |
| 5969 | return !fServerThread && aeThreadOwnsLock() && !g_fModuleThread && s_moduleGIL.hasReader(); |
| 5970 | } |
| 5971 | void moduleAcquireGIL(int fServerThread, int fExclusive) { |
| 5972 | if (FModuleCallBackLock(fServerThread)) { |
| 5973 | return; |
no test coverage detected