This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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



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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]