]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
common: use boost::shared_mutex on Windows 47492/head
authorLucian Petrut <lpetrut@cloudbasesolutions.com>
Mon, 4 Jul 2022 13:59:46 +0000 (13:59 +0000)
committerLucian Petrut <lpetrut@cloudbasesolutions.com>
Mon, 8 Aug 2022 06:45:34 +0000 (06:45 +0000)
commit719a42b714755769b4cce1be8757e58d3ecc2f11
treedb6ac31f8c37cc63525e53242fd8a9e02677575a
parent383147f040fa4b65d571177986f5127b2dbdcbf2
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>
(cherry picked from commit 35b67b2558fd4b7c39ca10e5b13b4dc6c983ce3c)
CMakeLists.txt
src/common/ceph_mutex.h
win32_deps_build.sh