The C++ standard does not require that implementations raise std::system_error
when double-locking a non-recursive lock. Our implementation of debug_mutex
now catches this error with a ceph_assert so it cannot be caught.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
ASSERT_TRUE(m.is_locked());
ASSERT_FALSE(std::async(std::launch::async, ttl, &m).get());
- ASSERT_THROW(m.lock(), std::system_error);
ASSERT_TRUE(m.is_locked());
ASSERT_FALSE(std::async(std::launch::async, ttl, &m).get());