Skip to content

Commit 534870b

Browse files
committed
qnx
1 parent 1f65fc9 commit 534870b

File tree

3 files changed

+7
-5
lines changed

3 files changed

+7
-5
lines changed

src/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ target_include_directories(${PROJECT_NAME}
4545
if(NOT MSVC)
4646
target_link_libraries(${PROJECT_NAME} PUBLIC
4747
$<$<NOT:$<STREQUAL:${CMAKE_SYSTEM_NAME},QNX>>:pthread>
48-
$<$<NOT:$<STREQUAL:${CMAKE_SYSTEM_NAME},Windows>>:rt>)
48+
$<$<NOT:$<OR:$<STREQUAL:${CMAKE_SYSTEM_NAME},Windows>,$<STREQUAL:${CMAKE_SYSTEM_NAME},QNX>>>:rt>)
4949
endif()
5050

5151
install(

src/libipc/platform/posix/condition.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,13 @@
55

66
#include <pthread.h>
77

8-
#include "libipc/platform/get_wait_time.h"
98
#include "libipc/utility/log.h"
109
#include "libipc/utility/scope_guard.h"
1110
#include "libipc/mutex.h"
1211
#include "libipc/shm.h"
1312

13+
#include "get_wait_time.h"
14+
1415
namespace ipc {
1516
namespace detail {
1617
namespace sync {
@@ -62,7 +63,7 @@ class condition {
6263
ipc::error("fail pthread_condattr_init[%d]\n", eno);
6364
return false;
6465
}
65-
IPC_UNUSED_ auto guard_cond_attr = unique_ptr(&cond_attr, ::pthread_condattr_destroy);
66+
IPC_UNUSED_ auto guard_cond_attr = guard([&cond_attr] { ::pthread_condattr_destroy(&cond_attr); };
6667
if ((eno = ::pthread_condattr_setpshared(&cond_attr, PTHREAD_PROCESS_SHARED)) != 0) {
6768
ipc::error("fail pthread_condattr_setpshared[%d]\n", eno);
6869
return false;

src/libipc/platform/posix/mutex.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,14 @@
99

1010
#include <pthread.h>
1111

12-
#include "libipc/platform/get_wait_time.h"
1312
#include "libipc/platform/detail.h"
1413
#include "libipc/utility/log.h"
1514
#include "libipc/utility/scope_guard.h"
1615
#include "libipc/memory/resource.h"
1716
#include "libipc/shm.h"
1817

18+
#include "get_wait_time.h"
19+
1920
namespace ipc {
2021
namespace detail {
2122
namespace sync {
@@ -114,7 +115,7 @@ class mutex {
114115
ipc::error("fail pthread_mutexattr_init[%d]\n", eno);
115116
return false;
116117
}
117-
IPC_UNUSED_ auto guard_mutex_attr = unique_ptr(&mutex_attr, ::pthread_mutexattr_destroy);
118+
IPC_UNUSED_ auto guard_mutex_attr = guard([&mutex_attr] { ::pthread_mutexattr_destroy(&mutex_attr); };
118119
if ((eno = ::pthread_mutexattr_setpshared(&mutex_attr, PTHREAD_PROCESS_SHARED)) != 0) {
119120
ipc::error("fail pthread_mutexattr_setpshared[%d]\n", eno);
120121
return false;

0 commit comments

Comments
 (0)