aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2018-04-18 00:27:31 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2018-04-18 21:07:44 +0200
commit783c4820303fb6b031d401564f8089ecaf154b62 (patch)
tree34cd40325e7f9d97a0fbc49f159f892cb5cb1671
parentd6397de369d006da516cb560adfa2c181b6f4698 (diff)
downloadglibc-783c4820303fb6b031d401564f8089ecaf154b62.zip
glibc-783c4820303fb6b031d401564f8089ecaf154b62.tar.gz
glibc-783c4820303fb6b031d401564f8089ecaf154b62.tar.bz2
Fix sched_param
-rw-r--r--bits/sched.h6
-rw-r--r--bits/types/struct___sched_param.h28
-rw-r--r--bits/types/struct_sched_param.h28
-rw-r--r--posix/Makefile3
-rw-r--r--posix/sched.h2
-rw-r--r--sysdeps/htl/bits/types/struct___pthread_attr.h4
-rw-r--r--sysdeps/htl/pt-attr.c2
-rw-r--r--sysdeps/htl/timer_routines.h4
-rw-r--r--sysdeps/unix/sysv/linux/bits/sched.h6
9 files changed, 66 insertions, 17 deletions
diff --git a/bits/sched.h b/bits/sched.h
index 8d9f077..bdd94c9 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 0000000..a6d95bf
--- /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/bits/types/struct_sched_param.h b/bits/types/struct_sched_param.h
new file mode 100644
index 0000000..6070702
--- /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 51dcf12..2a1cb2d 100644
--- a/posix/Makefile
+++ b/posix/Makefile
@@ -31,7 +31,8 @@ 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 bits/types/struct_sched_param.h
routines := \
uname \
diff --git a/posix/sched.h b/posix/sched.h
index 619b3b3..87a2336 100644
--- a/posix/sched.h
+++ b/posix/sched.h
@@ -45,7 +45,7 @@ typedef __pid_t pid_t;
/* Backward compatibility. */
#define sched_priority sched_priority
-#define __sched_priority sched_priority
+#define __sched_priority __sched_priority
__BEGIN_DECLS
diff --git a/sysdeps/htl/bits/types/struct___pthread_attr.h b/sysdeps/htl/bits/types/struct___pthread_attr.h
index 2299c01..5c4b4e6 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>
@@ -32,7 +32,7 @@ enum __pthread_contentionscope;
that not all of them are supported on all systems. */
struct __pthread_attr
{
- struct sched_param __schedparam;
+ struct __sched_param __schedparam;
void *__stackaddr;
size_t __stacksize;
size_t __guardsize;
diff --git a/sysdeps/htl/pt-attr.c b/sysdeps/htl/pt-attr.c
index 77ecc73..fc39aa6 100644
--- a/sysdeps/htl/pt-attr.c
+++ b/sysdeps/htl/pt-attr.c
@@ -24,7 +24,7 @@
#include <pt-internal.h>
const struct __pthread_attr __pthread_default_attr = {
- __schedparam: { sched_priority: 0 },
+ __schedparam: { __sched_priority: 0 },
__stacksize: 0,
__stackaddr: NULL,
#ifdef PAGESIZE
diff --git a/sysdeps/htl/timer_routines.h b/sysdeps/htl/timer_routines.h
index a8134f5..062128c 100644
--- a/sysdeps/htl/timer_routines.h
+++ b/sysdeps/htl/timer_routines.h
@@ -32,8 +32,8 @@ thread_attr_compare (const pthread_attr_t * left, const pthread_attr_t * right)
struct __pthread_attr *ileft = (struct __pthread_attr *) left;
struct __pthread_attr *iright = (struct __pthread_attr *) right;
- return ileft->__schedparam.sched_priority
- == iright->__schedparam.sched_priority
+ return ileft->__schedparam.__sched_priority
+ == iright->__schedparam.__sched_priority
&& ileft->__stackaddr == iright->__stackaddr
&& ileft->__stacksize == iright->__stacksize
&& ileft->__guardsize == iright->__guardsize
diff --git a/sysdeps/unix/sysv/linux/bits/sched.h b/sysdeps/unix/sysv/linux/bits/sched.h
index 24159c5..34f27a7 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