From d7fa6d34ab4e0956fe8a80966ba628e0e3f81067 Mon Sep 17 00:00:00 2001 From: Leonid Vasiliev <lvasiliev@tarantool.org> Date: Tue, 21 Apr 2020 19:16:17 +0300 Subject: [PATCH] build: fix compilation on Alpine 3.5 The cbus hang test uses glibc pthread mutex implementation details. The reason why mutex implementation details is used: "For the bug reproducing the canceled thread must be canceled during processing cpipe_flush_cb. We need to synchronize the main thread and the canceled worker thread for that. So, thread synchronization has been realized by means of endpoint's mutex internal field(__data.__lock)." Therefore, it should not compile in case of using another library. --- test/unit/CMakeLists.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/test/unit/CMakeLists.txt b/test/unit/CMakeLists.txt index 24586c25cc..84eb066bdc 100644 --- a/test/unit/CMakeLists.txt +++ b/test/unit/CMakeLists.txt @@ -104,7 +104,9 @@ target_link_libraries(cbus_stress.test core stat) add_executable(cbus.test cbus.c) target_link_libraries(cbus.test core unit stat) -if (${CMAKE_HOST_SYSTEM_NAME} MATCHES "Linux") +include(CheckSymbolExists) +check_symbol_exists(__GLIBC__ features.h GLIBC_USED) +if (GLIBC_USED) add_executable(cbus_hang.test cbus_hang.c) target_link_libraries(cbus_hang.test core unit stat) endif () -- GitLab