]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
crimson/common: instantiate interrupt_cond in .cc
authorKefu Chai <kchai@redhat.com>
Sun, 8 Aug 2021 17:21:38 +0000 (01:21 +0800)
committerKefu Chai <kchai@redhat.com>
Mon, 9 Aug 2021 03:22:07 +0000 (11:22 +0800)
commitc037e9562215ac6a005e62f70ca20818076cc5c3
tree4c4e873001dcb556dd7641006005c437ccc3df01
parentaa62b71bb35c6dfddf79ae63acf7644df1d98a72
crimson/common: instantiate interrupt_cond in .cc

so we can explicitly instantiate it.

this should address the segfault when accessing interrupt_cond when
it is defined as a plain thread local storage template variable in the
header file.

it seems Clang is not able to identify the access to TLS variable and
the value of %fs segment register of the main thread is always zero if
interrupt_cond is defined as a plain global variable stored in
thread local storage.

Signed-off-by: Kefu Chai <kchai@redhat.com>
src/crimson/common/interruptible_future.h
src/crimson/os/seastore/CMakeLists.txt
src/crimson/os/seastore/transaction.cc [new file with mode: 0644]
src/test/crimson/test_interruptible_future.cc