about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2018-04-19 20:21:33 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2018-04-19 20:24:36 +0200
commite60c3f2bb71210ca62dc09b1b797443a88b4e3cf (patch)
tree50147302128a6f8518d75321079f311e39bd61f9
parent50511ca46641eb76aef1ca3fd96ad1e97f95c199 (diff)
downloadglibc-e60c3f2bb71210ca62dc09b1b797443a88b4e3cf.tar.gz
glibc-e60c3f2bb71210ca62dc09b1b797443a88b4e3cf.tar.xz
glibc-e60c3f2bb71210ca62dc09b1b797443a88b4e3cf.zip
hurd: Avoid exposing all <sched.h> symbols from sys/types.h
	* bits/sched.h: Include <bits/types/struct_sched_param.h> and move struct
	sched_param definition to it.
	* sysdeps/unix/sysv/linux/bits/sched.h: Likewise.
	* bits/types/struct_sched_param.h: New file.
	* sysdeps/htl/bits/types/struct___pthread_attr.h: Include
	<bits/types/struct_sched_param.h> instead of <sched.h>.
	* posix/Makefile (headers): Add bits/types/struct_sched_param.h.
-rw-r--r--ChangeLog7
-rw-r--r--bits/sched.h6
-rw-r--r--bits/types/struct_sched_param.h28
-rw-r--r--posix/Makefile2
-rw-r--r--sysdeps/htl/bits/types/struct___pthread_attr.h2
-rw-r--r--sysdeps/unix/sysv/linux/bits/sched.h6
6 files changed, 39 insertions, 12 deletions
diff --git a/ChangeLog b/ChangeLog
index 274941b6d7..d010e7c485 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -63,6 +63,13 @@
 	instead of wait_queue.
 	* sysdeps/gnu/bits/shm.h (struct shmid_ds): Use __vm_area_struct
 	instead of vm_area_struct.
+	* bits/sched.h: Include <bits/types/struct_sched_param.h> and move struct
+	sched_param definition to it.
+	* sysdeps/unix/sysv/linux/bits/sched.h: Likewise.
+	* bits/types/struct_sched_param.h: New file.
+	* sysdeps/htl/bits/types/struct___pthread_attr.h: Include
+	<bits/types/struct_sched_param.h> instead of <sched.h>.
+	* posix/Makefile (headers): Add bits/types/struct_sched_param.h.
 
 2018-04-18  Joseph Myers  <joseph@codesourcery.com>
 
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..34f27a7d9b 100644
--- a/sysdeps/unix/sysv/linux/bits/sched.h
+++ b/sysdeps/unix/sysv/linux/bits/sched.h
@@ -71,11 +71,7 @@
 # define CLONE_IO	0x80000000	/* Clone I/O context.  */
 #endif
 
-/* Data structure to describe a process' schedulability.  */
-struct sched_param
-{
-  int sched_priority;
-};
+#include <bits/types/struct_sched_param.h>
 
 __BEGIN_DECLS