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 v4 1/4] Rename nptl-signals.h to internal-signals.h


Ping.

On 12/02/2018 10:42, Adhemerval Zanella wrote:
> Changes from previous version:
> 
>   - Fixed documentation issues pointed out by Rical Jasan.
> 
> --
> 
> This patch renames the nptl-signals.h header to internal-signals.h.
> On Linux the definitions and functions are not only NPTL related, but
> used for other POSIX definitions as well (for instance SIGTIMER for
> posix times, SIGSETXID for id functions, and signal block/restore
> helpers) and since generic functions will be places and used in generic
> implementation it makes more sense to decouple it from NPTL.
> 
> Checked on x86_64-linux-gnu.
> 
> 	* sysdeps/nptl/nptl-signals.h: Move to ...
> 	* sysdeps/generic/internal-signals.h: ... here.  Adjust internal
> 	comments.
> 	* sysdeps/unix/sysv/linux/internal-signals.h: Add include guards.
> 	(__nptl_is_internal_signal): Rename to __is_internal_signal.
> 	(__nptl_clear_internal_signals): Rename to __clear_internal_signals.
> 	* sysdeps/unix/sysv/linux/raise.c: Adjust nptl-signal.h to
> 	include-signals.h rename.
> 	* nptl/pthreadP.h: Likewise.
> 	* sysdeps/unix/sysv/linux/spawni.c (__spawni_child): Call
> 	__is_internal_signal instead of __nptl_is_internal_signal.
> 
> Signed-off-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
> ---
>  ChangeLog                                                | 14 ++++++++++++++
>  nptl/pthreadP.h                                          |  2 +-
>  .../{nptl/nptl-signals.h => generic/internal-signals.h}  |  7 +------
>  .../sysv/linux/{nptl-signals.h => internal-signals.h}    | 16 ++++++++++------
>  sysdeps/unix/sysv/linux/raise.c                          |  2 +-
>  sysdeps/unix/sysv/linux/spawni.c                         |  2 +-
>  6 files changed, 28 insertions(+), 15 deletions(-)
>  rename sysdeps/{nptl/nptl-signals.h => generic/internal-signals.h} (74%)
>  rename sysdeps/unix/sysv/linux/{nptl-signals.h => internal-signals.h} (89%)
> 
> diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h
> index 583515f..075530c 100644
> --- a/nptl/pthreadP.h
> +++ b/nptl/pthreadP.h
> @@ -32,7 +32,7 @@
>  #include <atomic.h>
>  #include <kernel-features.h>
>  #include <errno.h>
> -#include <nptl-signals.h>
> +#include <internal-signals.h>
>  
>  
>  /* Atomic operations on TLS memory.  */
> diff --git a/sysdeps/nptl/nptl-signals.h b/sysdeps/generic/internal-signals.h
> similarity index 74%
> rename from sysdeps/nptl/nptl-signals.h
> rename to sysdeps/generic/internal-signals.h
> index e1275c7..01e5b75 100644
> --- a/sysdeps/nptl/nptl-signals.h
> +++ b/sysdeps/generic/internal-signals.h
> @@ -1,4 +1,4 @@
> -/* Special use of signals in NPTL internals.  Stub version.
> +/* Special use of signals internally.  Stub version.
>     Copyright (C) 2014-2018 Free Software Foundation, Inc.
>     This file is part of the GNU C Library.
>  
> @@ -15,8 +15,3 @@
>     You should have received a copy of the GNU Lesser General Public
>     License along with the GNU C Library; if not, see
>     <http://www.gnu.org/licenses/>.  */
> -
> -/* This file can define the macros SIGCANCEL, SIGTIMER, and SIGSETXID to
> -   signal numbers reserved by libpthread for those internal purposes.
> -
> -   Note that some code presumes SIGTIMER is the same as SIGCANCEL.  */
> diff --git a/sysdeps/unix/sysv/linux/nptl-signals.h b/sysdeps/unix/sysv/linux/internal-signals.h
> similarity index 89%
> rename from sysdeps/unix/sysv/linux/nptl-signals.h
> rename to sysdeps/unix/sysv/linux/internal-signals.h
> index e789198..e007372 100644
> --- a/sysdeps/unix/sysv/linux/nptl-signals.h
> +++ b/sysdeps/unix/sysv/linux/internal-signals.h
> @@ -1,4 +1,4 @@
> -/* Special use of signals in NPTL internals.  Linux version.
> +/* Special use of signals internally.  Linux version.
>     Copyright (C) 2014-2018 Free Software Foundation, Inc.
>     This file is part of the GNU C Library.
>  
> @@ -16,6 +16,9 @@
>     License along with the GNU C Library; if not, see
>     <http://www.gnu.org/licenses/>.  */
>  
> +#ifndef __INTERNAL_SIGNALS_H
> +# define __INTERNAL_SIGNALS_H
> +
>  #include <signal.h>
>  #include <sigsetops.h>
>  
> @@ -35,17 +38,16 @@
>  
>  /* Return is sig is used internally.  */
>  static inline int
> -__nptl_is_internal_signal (int sig)
> +__is_internal_signal (int sig)
>  {
> -  return (sig == SIGCANCEL) || (sig == SIGTIMER) || (sig == SIGSETXID);
> +  return (sig == SIGCANCEL) || (sig == SIGSETXID);
>  }
>  
>  /* Remove internal glibc signal from the mask.  */
>  static inline void
> -__nptl_clear_internal_signals (sigset_t *set)
> +__clear_internal_signals (sigset_t *set)
>  {
>    __sigdelset (set, SIGCANCEL);
> -  __sigdelset (set, SIGTIMER);
>    __sigdelset (set, SIGSETXID);
>  }
>  
> @@ -66,7 +68,7 @@ static inline int
>  __libc_signal_block_app (sigset_t *set)
>  {
>    sigset_t allset = SIGALL_SET;
> -  __nptl_clear_internal_signals (&allset);
> +  __clear_internal_signals (&allset);
>    INTERNAL_SYSCALL_DECL (err);
>    return INTERNAL_SYSCALL (rt_sigprocmask, err, 4, SIG_BLOCK, &allset, set,
>  			   _NSIG / 8);
> @@ -83,3 +85,5 @@ __libc_signal_restore_set (const sigset_t *set)
>  
>  /* Used to communicate with signal handler.  */
>  extern struct xid_command *__xidcmd attribute_hidden;
> +
> +#endif
> diff --git a/sysdeps/unix/sysv/linux/raise.c b/sysdeps/unix/sysv/linux/raise.c
> index cb98f90..b05eae2 100644
> --- a/sysdeps/unix/sysv/linux/raise.c
> +++ b/sysdeps/unix/sysv/linux/raise.c
> @@ -21,7 +21,7 @@
>  #include <errno.h>
>  #include <sys/types.h>
>  #include <unistd.h>
> -#include <nptl-signals.h>
> +#include <internal-signals.h>
>  
>  int
>  raise (int sig)
> diff --git a/sysdeps/unix/sysv/linux/spawni.c b/sysdeps/unix/sysv/linux/spawni.c
> index 6b699a4..0391b9b 100644
> --- a/sysdeps/unix/sysv/linux/spawni.c
> +++ b/sysdeps/unix/sysv/linux/spawni.c
> @@ -144,7 +144,7 @@ __spawni_child (void *arguments)
>  	}
>        else if (sigismember (&hset, sig))
>  	{
> -	  if (__nptl_is_internal_signal (sig))
> +	  if (__is_internal_signal (sig))
>  	    sa.sa_handler = SIG_IGN;
>  	  else
>  	    {
> 


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