diff mbox series

[14/26] Linux: rt_sigqueueinfo syscall number is always available

Message ID e6509797f897ebeb3592fd21bceb2f0bf986433a.1581279333.git.fweimer@redhat.com
State New
Headers show
Series Linux cleanups enabled by built-in system call tables | expand

Commit Message

Florian Weimer Feb. 9, 2020, 8:20 p.m. UTC
Due to the built-in tables, __NR_rt_sigqueueinfo is always defined.

sysdeps/pthread/time_routines.c is not updated because it is shared with
Hurd.
---
 sysdeps/unix/sysv/linux/aio_sigqueue.c | 5 -----
 sysdeps/unix/sysv/linux/gai_sigqueue.c | 5 -----
 2 files changed, 10 deletions(-)

Comments

Adhemerval Zanella Netto Feb. 27, 2020, 11:30 p.m. UTC | #1
On 09/02/2020 17:20, Florian Weimer wrote:
> Due to the built-in tables, __NR_rt_sigqueueinfo is always defined.
> 
> sysdeps/pthread/time_routines.c is not updated because it is shared with
> Hurd.

Linux reimplements the file and Hurd internally does not use the __NR_*
concept, so it should be safe to just remove it.

In fact, __NR_ direct usage should not used outside Linux folder.  If
it were the case that Linux did use it, a better strategy would to
move the __NR_* code to a specific Linux implementation similar to
how the *_nocancel calls are done.

LGTM, thanks. 

Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>

> ---
>  sysdeps/unix/sysv/linux/aio_sigqueue.c | 5 -----
>  sysdeps/unix/sysv/linux/gai_sigqueue.c | 5 -----
>  2 files changed, 10 deletions(-)
> 
> diff --git a/sysdeps/unix/sysv/linux/aio_sigqueue.c b/sysdeps/unix/sysv/linux/aio_sigqueue.c
> index 5f00582578..2c5a79bef6 100644
> --- a/sysdeps/unix/sysv/linux/aio_sigqueue.c
> +++ b/sysdeps/unix/sysv/linux/aio_sigqueue.c
> @@ -26,8 +26,6 @@
>  
>  #include <aio_misc.h>
>  
> -#ifdef __NR_rt_sigqueueinfo
> -
>  /* Return any pending signal or wait for one for the given time.  */
>  int
>  __aio_sigqueue (int sig, const union sigval val, pid_t caller_pid)
> @@ -46,6 +44,3 @@ __aio_sigqueue (int sig, const union sigval val, pid_t caller_pid)
>  
>    return INLINE_SYSCALL (rt_sigqueueinfo, 3, info.si_pid, sig, &info);
>  }
> -#else
> -# include <rt/aio_sigqueue.c>
> -#endif

Ok.

> diff --git a/sysdeps/unix/sysv/linux/gai_sigqueue.c b/sysdeps/unix/sysv/linux/gai_sigqueue.c
> index e8b65a7d67..e4d7260743 100644
> --- a/sysdeps/unix/sysv/linux/gai_sigqueue.c
> +++ b/sysdeps/unix/sysv/linux/gai_sigqueue.c
> @@ -26,8 +26,6 @@
>  
>  #include "gai_misc.h"
>  
> -#ifdef __NR_rt_sigqueueinfo
> -
>  /* Return any pending signal or wait for one for the given time.  */
>  int
>  __gai_sigqueue (int sig, const union sigval val, pid_t caller_pid)
> @@ -46,6 +44,3 @@ __gai_sigqueue (int sig, const union sigval val, pid_t caller_pid)
>  
>    return INLINE_SYSCALL (rt_sigqueueinfo, 3, info.si_pid, sig, &info);
>  }
> -#else
> -# include <resolv/gai_sigqueue.c>
> -#endif
> 

Ok.
diff mbox series

Patch

diff --git a/sysdeps/unix/sysv/linux/aio_sigqueue.c b/sysdeps/unix/sysv/linux/aio_sigqueue.c
index 5f00582578..2c5a79bef6 100644
--- a/sysdeps/unix/sysv/linux/aio_sigqueue.c
+++ b/sysdeps/unix/sysv/linux/aio_sigqueue.c
@@ -26,8 +26,6 @@ 
 
 #include <aio_misc.h>
 
-#ifdef __NR_rt_sigqueueinfo
-
 /* Return any pending signal or wait for one for the given time.  */
 int
 __aio_sigqueue (int sig, const union sigval val, pid_t caller_pid)
@@ -46,6 +44,3 @@  __aio_sigqueue (int sig, const union sigval val, pid_t caller_pid)
 
   return INLINE_SYSCALL (rt_sigqueueinfo, 3, info.si_pid, sig, &info);
 }
-#else
-# include <rt/aio_sigqueue.c>
-#endif
diff --git a/sysdeps/unix/sysv/linux/gai_sigqueue.c b/sysdeps/unix/sysv/linux/gai_sigqueue.c
index e8b65a7d67..e4d7260743 100644
--- a/sysdeps/unix/sysv/linux/gai_sigqueue.c
+++ b/sysdeps/unix/sysv/linux/gai_sigqueue.c
@@ -26,8 +26,6 @@ 
 
 #include "gai_misc.h"
 
-#ifdef __NR_rt_sigqueueinfo
-
 /* Return any pending signal or wait for one for the given time.  */
 int
 __gai_sigqueue (int sig, const union sigval val, pid_t caller_pid)
@@ -46,6 +44,3 @@  __gai_sigqueue (int sig, const union sigval val, pid_t caller_pid)
 
   return INLINE_SYSCALL (rt_sigqueueinfo, 3, info.si_pid, sig, &info);
 }
-#else
-# include <resolv/gai_sigqueue.c>
-#endif