This is an automated email from the ASF dual-hosted git repository. acassis pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git
commit 15a125ba723e4e75d54a028674d00714838f4370 Author: Marco Casaroli <[email protected]> AuthorDate: Wed Oct 28 10:38:12 2026 +0100 syscall: Add pthread_sigmask() only with signals. pthread_sigmask() calls nxsig_procmask(), which is not built with CONFIG_DISABLE_ALL_SIGNALS. Its system call entry has no condition on signals, so a protected or kernel build with pthreads and without signals does not link: pthread_sigmask.c:82: undefined reference to `nxsig_procmask' Add the system call only when signals are enabled, as for sigprocmask(). Assisted-by: Claude Code:claude-opus-5-5 Signed-off-by: Marco Casaroli <[email protected]> --- include/sys/syscall_lookup.h | 2 +- syscall/syscall.csv | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/sys/syscall_lookup.h b/include/sys/syscall_lookup.h index b5fa8fadba8..20cf700e0ae 100644 --- a/include/sys/syscall_lookup.h +++ b/include/sys/syscall_lookup.h @@ -354,8 +354,8 @@ SYSCALL_LOOKUP(munlockall, 0) SYSCALL_LOOKUP(pthread_setaffinity_np, 3) SYSCALL_LOOKUP(pthread_getaffinity_np, 3) #endif - SYSCALL_LOOKUP(pthread_sigmask, 3) #ifndef CONFIG_DISABLE_ALL_SIGNALS + SYSCALL_LOOKUP(pthread_sigmask, 3) SYSCALL_LOOKUP(pthread_sigqueue, 3) #endif #endif diff --git a/syscall/syscall.csv b/syscall/syscall.csv index dbbd7f9ad0f..d04474d5e30 100644 --- a/syscall/syscall.csv +++ b/syscall/syscall.csv @@ -127,7 +127,7 @@ "pthread_setaffinity_np","pthread.h","!defined(CONFIG_DISABLE_PTHREAD) && defined(CONFIG_SMP)","int","pthread_t","size_t","FAR const cpu_set_t *" "pthread_setschedparam","pthread.h","!defined(CONFIG_DISABLE_PTHREAD)","int","pthread_t","int","FAR const struct sched_param *" "pthread_setschedprio","pthread.h","!defined(CONFIG_DISABLE_PTHREAD)","int","pthread_t","int" -"pthread_sigmask","pthread.h","!defined(CONFIG_DISABLE_PTHREAD)","int","int","FAR const sigset_t *","FAR sigset_t *" +"pthread_sigmask","pthread.h","!defined(CONFIG_DISABLE_PTHREAD) && !defined(CONFIG_DISABLE_ALL_SIGNALS)","int","int","FAR const sigset_t *","FAR sigset_t *" "pthread_sigqueue","signal.h","!defined(CONFIG_DISABLE_PTHREAD) && !defined(CONFIG_DISABLE_ALL_SIGNALS)","int","pthread_t","int","union sigval|FAR void *|sival_ptr" "pwrite","unistd.h","","ssize_t","int","FAR const void *","size_t","off_t" "read","unistd.h","","ssize_t","int","FAR void *","size_t"
