From 6321f9e5e8a7953095183c1ae41ed3ccf5a0cdd3 Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Thu, 28 May 2020 11:19:04 +0200 Subject: [PATCH] Hurd: Move internals into wrapper header _hurdsig_preemptors and _hurdsig_preempted_set are not ABI symbols, so do not declare them. HURD_PREEMPT_SIGNAL_P is an implementation detail, so move it as well. Reviewed-by: Samuel Thibault --- hurd/hurd/sigpreempt.h | 10 ---------- sysdeps/hurd/include/hurd/sigpreempt.h | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 10 deletions(-) create mode 100644 sysdeps/hurd/include/hurd/sigpreempt.h diff --git a/hurd/hurd/sigpreempt.h b/hurd/hurd/sigpreempt.h index 4ab5b13..8cbf66a 100644 --- a/hurd/hurd/sigpreempt.h +++ b/hurd/hurd/sigpreempt.h @@ -50,16 +50,6 @@ struct hurd_signal_preemptor struct hurd_signal_preemptor *next; /* List structure. */ }; -#define HURD_PREEMPT_SIGNAL_P(preemptor, signo, sigcode) \ - (((preemptor)->signals & __sigmask (signo)) \ - && (sigcode) >= (preemptor)->first && (sigcode) <= (preemptor)->last) - - -/* Signal preemptors applying to all threads; locked by _hurd_siglock. */ -extern struct hurd_signal_preemptor *_hurdsig_preemptors; -extern sigset_t _hurdsig_preempted_set; - - /* The caller must initialize all members of *PREEMPTOR except `next'. The preemptor is registered on the global list. */ void hurd_preempt_signals (struct hurd_signal_preemptor *preemptor); diff --git a/sysdeps/hurd/include/hurd/sigpreempt.h b/sysdeps/hurd/include/hurd/sigpreempt.h new file mode 100644 index 0000000..fc0fdfd --- /dev/null +++ b/sysdeps/hurd/include/hurd/sigpreempt.h @@ -0,0 +1,32 @@ +/* Preemption of Hurd signals before POSIX.1 semantics take over. Wrapper. + Copyright (C) 1996-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#ifndef _HURD_SIGPREEMPT_H +# include + +# ifndef _ISOMAC +# define HURD_PREEMPT_SIGNAL_P(preemptor, signo, sigcode) \ + (((preemptor)->signals & __sigmask (signo)) \ + && (sigcode) >= (preemptor)->first && (sigcode) <= (preemptor)->last) + +/* Signal preemptors applying to all threads; locked by _hurd_siglock. */ +extern struct hurd_signal_preemptor *_hurdsig_preemptors; +extern sigset_t _hurdsig_preempted_set; + +# endif /* _ISOMAC */ +#endif /* _HURD_SIGPREEMPT_H */ -- 2.7.4