]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
common: use boost::shared_mutex on Windows
authorLucian Petrut <lpetrut@cloudbasesolutions.com>
Mon, 4 Jul 2022 13:59:46 +0000 (13:59 +0000)
committerLucian Petrut <lpetrut@cloudbasesolutions.com>
Wed, 27 Jul 2022 11:50:42 +0000 (11:50 +0000)
commit35b67b2558fd4b7c39ca10e5b13b4dc6c983ce3c
tree690cfd68a1484aaf40e6df240a54f7ff43f824af
parent74f6ce75de821a9d0a14dc949360cae856c4b389
common: use boost::shared_mutex on Windows

The winpthreads shared mutex implementation causes deadlocks on
Windows [1][2]. Specifically, async RBD IO calls are hanging. This
also prevents the images from being unmounted.

For this reason, we're switching to boost::shared_mutex when using
MinGW.

[1] https://github.com/cloudbase/wnbd/issues/63#issuecomment-1161547102
[2] https://github.com/msys2/MINGW-packages/issues/3319
Trace: https://pastebin.com/raw/i3jpTyS3

Fixes: https://tracker.ceph.com/issues/56480
Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
CMakeLists.txt
src/common/ceph_mutex.h
win32_deps_build.sh