aboutsummaryrefslogtreecommitdiff
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
glibc-e60c3f2bb71210ca62dc09b1b797443a88b4e3cf.tar.gz
glibc-e60c3f2bb71210ca62dc09b1b797443a88b4e3cf.tar.bz2
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