]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
common: use boost::shared_mutex on Windows 47493/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:46:07 +0000 (06:46 +0000)
commit01deca2888b567c6c93bb89106196d15dea3495b
tree0e777d85da818321b3f440cc523cdada667dd29b
parentccf2c7abe4dc5f7b79ac61fb34e8b7305a947587
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