On master (e3fa3c7d671e34038a262bb2db16b30bee82153d) if the push_lock()
throws the “potential deadlock detected” exception (via the potential_deadlock_detected()
call), the LockData
instance internal state differs from one when the push_lock()
was called. This non-well behaviour makes (at least) testing brittle.
This PR preserves the LockData
instance initial state if push_lock()
throws an exception, and improves the sync_tests
unit test.