public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* [PATCH] hurd: Avoid exposing all <sched.h> symbols
@ 2018-04-18 22:46 Samuel Thibault
  2018-04-19  8:00 ` Florian Weimer
  0 siblings, 1 reply; 2+ messages in thread
From: Samuel Thibault @ 2018-04-18 22:46 UTC (permalink / raw)
  To: libc-alpha; +Cc: Samuel Thibault

* bits/types/struct_sched_param.h: New file
* posix/Makefile (headers): Add bits/types/struct_sched_param.h.
* bits/sched.h: Include <bits/types/struct_sched_param.h> instead of
defining sched_param structure.
* sysdeps/unix/sysv/linux/bits/sched.h: Likewise.
* sysdeps/htl/bits/types/struct___pthread_attr.h: Include
<bits/types/struct_sched_param.h> instead of <sched.h>.
---
 bits/sched.h                                   |  6 +-----
 bits/types/struct_sched_param.h                | 28 ++++++++++++++++++++++++++
 posix/Makefile                                 |  2 +-
 sysdeps/htl/bits/types/struct___pthread_attr.h |  2 +-
 sysdeps/unix/sysv/linux/bits/sched.h           |  5 +----
 5 files changed, 32 insertions(+), 11 deletions(-)
 create mode 100644 bits/types/struct_sched_param.h

diff --git a/bits/sched.h b/bits/sched.h
index 8d9f077eee..bdd94c969d 100644
--- a/bits/sched.h
+++ b/bits/sched.h
@@ -29,10 +29,6 @@
 #define SCHED_FIFO	1
 #define SCHED_RR	2
 
-/* Data structure to describe a process' schedulability.  */
-struct sched_param
-{
-  int sched_priority;
-};
+#include <bits/types/struct_sched_param.h>
 
 #endif /* bits/sched.h */
diff --git a/bits/types/struct_sched_param.h b/bits/types/struct_sched_param.h
new file mode 100644
index 0000000000..2f24d426fb
--- /dev/null
+++ b/bits/types/struct_sched_param.h
@@ -0,0 +1,28 @@
+/* Sched parameter structure.  Generic version.
+   Copyright (C) 1996-2018 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
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _BITS_TYPES_STRUCT_SCHED_PARAM
+#define _BITS_TYPES_STRUCT_SCHED_PARAM 1
+
+/* Data structure to describe a process' schedulability.  */
+struct sched_param
+{
+  int sched_priority;
+};
+
+#endif /* bits/types/struct_sched_param.h */
diff --git a/posix/Makefile b/posix/Makefile
index 51dcf129ec..e9730eedf0 100644
--- a/posix/Makefile
+++ b/posix/Makefile
@@ -31,7 +31,7 @@ headers	:= sys/utsname.h sys/times.h sys/wait.h sys/types.h unistd.h	      \
 	   bits/local_lim.h tar.h bits/utsname.h bits/confname.h	      \
 	   bits/waitflags.h bits/waitstatus.h sys/unistd.h sched.h	      \
 	   bits/sched.h bits/cpu-set.h re_comp.h wait.h bits/environments.h   \
-	   cpio.h spawn.h bits/unistd.h
+	   cpio.h spawn.h bits/unistd.h bits/types/struct_sched_param.h
 
 routines :=								      \
 	uname								      \
diff --git a/sysdeps/htl/bits/types/struct___pthread_attr.h b/sysdeps/htl/bits/types/struct___pthread_attr.h
index 2299c0179f..3c78291cbf 100644
--- a/sysdeps/htl/bits/types/struct___pthread_attr.h
+++ b/sysdeps/htl/bits/types/struct___pthread_attr.h
@@ -19,7 +19,7 @@
 #ifndef _BITS_TYPES_STRUCT___PTHREAD_ATTR
 #define _BITS_TYPES_STRUCT___PTHREAD_ATTR	1
 
-#include <sched.h>
+#include <bits/types/struct_sched_param.h>
 
 #define __need_size_t
 #include <stddef.h>
diff --git a/sysdeps/unix/sysv/linux/bits/sched.h b/sysdeps/unix/sysv/linux/bits/sched.h
index 24159c57b3..0a986157ef 100644
--- a/sysdeps/unix/sysv/linux/bits/sched.h
+++ b/sysdeps/unix/sysv/linux/bits/sched.h
@@ -72,10 +72,7 @@
 #endif
 
 /* Data structure to describe a process' schedulability.  */
-struct sched_param
-{
-  int sched_priority;
-};
+#include <bits/types/struct_sched_param.h>
 
 __BEGIN_DECLS
 
-- 
2.15.1

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] hurd: Avoid exposing all <sched.h> symbols
  2018-04-18 22:46 [PATCH] hurd: Avoid exposing all <sched.h> symbols Samuel Thibault
@ 2018-04-19  8:00 ` Florian Weimer
  0 siblings, 0 replies; 2+ messages in thread
From: Florian Weimer @ 2018-04-19  8:00 UTC (permalink / raw)
  To: Samuel Thibault, libc-alpha

On 04/19/2018 12:46 AM, Samuel Thibault wrote:
>   /* Data structure to describe a process' schedulability.  */
> -struct sched_param
> -{
> -  int sched_priority;
> -};
> +#include <bits/types/struct_sched_param.h>

Maybe remove the comment as well?

Looks okay otherwise.

Thanks,
Florian

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2018-04-19  8:00 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-18 22:46 [PATCH] hurd: Avoid exposing all <sched.h> symbols Samuel Thibault
2018-04-19  8:00 ` Florian Weimer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).