diff --git a/components/pthread/include/semaphore.h b/components/pthread/include/semaphore.h index 5a7ef56b97..31d47d2072 100644 --- a/components/pthread/include/semaphore.h +++ b/components/pthread/include/semaphore.h @@ -51,7 +51,7 @@ int sem_post(sem_t *sem); * * It is possible, though unlikely, that the task is preempted directly after the timeout calculation, * delaying timeout of the following blocking operating system call by the duration of the preemption. */ -int sem_timedwait(sem_t * restrict semaphore, const struct timespec *restrict abstime); +int sem_timedwait(sem_t *semaphore, const struct timespec *abstime); /** * This is a POSIX function, please refer to the POSIX specification for a detailed description. @@ -66,7 +66,7 @@ int sem_wait(sem_t *sem); /** * This is a POSIX function, please refer to the POSIX specification for a detailed description. */ -int sem_getvalue(sem_t *restrict sem, int *restrict sval); +int sem_getvalue(sem_t *sem, int *sval); #ifdef __cplusplus } diff --git a/tools/cmake/build.cmake b/tools/cmake/build.cmake index 70bb2d636c..13bbff0726 100644 --- a/tools/cmake/build.cmake +++ b/tools/cmake/build.cmake @@ -93,7 +93,9 @@ function(__build_set_default_build_specifications) unset(c_compile_options) unset(cxx_compile_options) - list(APPEND compile_definitions "_GNU_SOURCE") + list(APPEND compile_definitions "_GLIBCXX_USE_POSIX_SEMAPHORE" # These two lines enable libstd++ to use + "_GLIBCXX_HAVE_POSIX_SEMAPHORE" # posix-semaphores from components/pthread + "_GNU_SOURCE") list(APPEND compile_options "-ffunction-sections" "-fdata-sections"