This is an automated email from the ASF dual-hosted git repository.
xiaoxiang781216 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git
The following commit(s) were added to refs/heads/master by this push:
new 52274fe01fe syscall: Add pthread_sigqueue() to the system call table.
52274fe01fe is described below
commit 52274fe01fef87f09b230035a3dfcc56b5d64565
Author: Marco Casaroli <[email protected]>
AuthorDate: Wed Oct 28 09:15:07 2026 +0100
syscall: Add pthread_sigqueue() to the system call table.
pthread_sigqueue() is implemented in sched/pthread/pthread_sigqueue.c,
but it has no system call entry: only libs/libc/libc.csv lists it. In a
protected or kernel build, user programs that call pthread_sigqueue()
fail to link.
Add it to syscall.csv and syscall_lookup.h, and remove the libc.csv
entry. The condition also needs !CONFIG_DISABLE_ALL_SIGNALS, because
the implementation calls nxsig_dispatch(), which is built only with
signals.
Assisted-by: Claude Code:claude-opus-5-5
Signed-off-by: Marco Casaroli <[email protected]>
---
include/sys/syscall_lookup.h | 3 +++
libs/libc/libc.csv | 1 -
syscall/syscall.csv | 1 +
3 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/include/sys/syscall_lookup.h b/include/sys/syscall_lookup.h
index 09c46e84bac..b5fa8fadba8 100644
--- a/include/sys/syscall_lookup.h
+++ b/include/sys/syscall_lookup.h
@@ -355,6 +355,9 @@ SYSCALL_LOOKUP(munlockall, 0)
SYSCALL_LOOKUP(pthread_getaffinity_np, 3)
#endif
SYSCALL_LOOKUP(pthread_sigmask, 3)
+#ifndef CONFIG_DISABLE_ALL_SIGNALS
+ SYSCALL_LOOKUP(pthread_sigqueue, 3)
+#endif
#endif
/* The following are defined only if message queues are enabled */
diff --git a/libs/libc/libc.csv b/libs/libc/libc.csv
index 45c5b7d4e26..ae49af9d37e 100644
--- a/libs/libc/libc.csv
+++ b/libs/libc/libc.csv
@@ -256,7 +256,6 @@
"pthread_self","pthread.h","!defined(CONFIG_DISABLE_PTHREAD)","pthread_t","void"
"pthread_setname_np","pthread.h","!defined(CONFIG_DISABLE_PTHREAD)","int","pthread_t","const
char *"
"pthread_setspecific","pthread.h","!defined(CONFIG_DISABLE_PTHREAD) &&
CONFIG_TLS_NELEM > 0","int","pthread_key_t","FAR const void *"
-"pthread_sigqueue","pthread.h","!defined(CONFIG_DISABLE_PTHREAD)","int","pthread_t","int","const
union sigval"
"pthread_yield","pthread.h","!defined(CONFIG_DISABLE_PTHREAD)","void"
"putenv","stdlib.h","!defined(CONFIG_DISABLE_ENVIRON)","int","FAR const char *"
"puts","stdio.h","defined(CONFIG_FILE_STREAM)","int","FAR const IPTR char *"
diff --git a/syscall/syscall.csv b/syscall/syscall.csv
index 8a1d685fa42..dbbd7f9ad0f 100644
--- a/syscall/syscall.csv
+++ b/syscall/syscall.csv
@@ -128,6 +128,7 @@
"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_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"
"readv","sys/uio.h","","ssize_t","int","FAR const struct iovec *","int"