]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
missing_syscall: Add rt_tgsigqueueinfo()
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Wed, 16 Nov 2022 14:03:11 +0000 (15:03 +0100)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Wed, 16 Nov 2022 14:03:41 +0000 (15:03 +0100)
meson.build
src/basic/missing_syscall.h

index 55ed968798532b109d9d577dded837f33e070257..8a4552d5bb52c10ac94ad7c6fd8732964d71211c 100644 (file)
@@ -599,6 +599,10 @@ foreach ident : [
                                  #include <unistd.h>
                                  #include <signal.h>
                                  #include <sys/wait.h>'''],
+        ['rt_tgsigqueueinfo', '''#include <stdlib.h>
+                                 #include <unistd.h>
+                                 #include <signal.h>
+                                 #include <sys/wait.h>'''],
         ['mallinfo',          '''#include <malloc.h>'''],
         ['mallinfo2',         '''#include <malloc.h>'''],
         ['execveat',          '''#include <unistd.h>'''],
index d54e59fdf970cf37dad85ed6284488b8b092daf5..6ad89da541bbc219d2baa8071c81158e64a079c0 100644 (file)
@@ -363,6 +363,20 @@ static inline int missing_rt_sigqueueinfo(pid_t tgid, int sig, siginfo_t *info)
 
 /* ======================================================================= */
 
+#if !HAVE_RT_TGSIGQUEUEINFO
+static inline int missing_rt_tgsigqueueinfo(pid_t tgid, pid_t tid, int sig, siginfo_t *info) {
+#  if defined __NR_rt_tgsigqueueinfo && __NR_rt_tgsigqueueinfo >= 0
+        return syscall(__NR_rt_tgsigqueueinfo, tgid, tid, sig, info);
+#  else
+#    error "__NR_rt_tgsigqueueinfo not defined"
+#  endif
+}
+
+#  define rt_tgsigqueueinfo missing_rt_tgsigqueueinfo
+#endif
+
+/* ======================================================================= */
+
 #if !HAVE_EXECVEAT
 static inline int missing_execveat(int dirfd, const char *pathname,
                                    char *const argv[], char *const envp[],