Fix race condition checking if event mutex exists
Fix issue #50330 a race condition checking if lock already exists.
It's possible for a race condition to occur if we acquire the lock just to check if it's free.
The exists check interferes with the actual lock acquisition at event startup. As a result it's possible to miss an event run.
Imagine following scenario:
-
thread A goes inside the exists method and lock the mutex.
-
All other threads conclude that the event will be run by thread A and skip the event run to avoid overlapping
-
thread A releases the lock by returning from the exists methog
-
thread A proceeds to acquire the lock "for real" but the lock has already been locked by another thread running the exists method.
-
Thread A bails out thinking the event is being run by another thread but in fact it's not.
Mark as draft since tests are failing