[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
Related show

Commit Message

Florian Weimer Feb. 9, 2020, 8:20 p.m.
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(-)

-- 
2.24.1

Comments

Adhemerval Zanella Feb. 27, 2020, 11:30 p.m. | #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.

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