diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2018-04-18 00:27:31 +0200 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2018-04-18 21:07:44 +0200 |
commit | 783c4820303fb6b031d401564f8089ecaf154b62 (patch) | |
tree | 34cd40325e7f9d97a0fbc49f159f892cb5cb1671 | |
parent | d6397de369d006da516cb560adfa2c181b6f4698 (diff) | |
download | glibc-783c4820303fb6b031d401564f8089ecaf154b62.tar.gz glibc-783c4820303fb6b031d401564f8089ecaf154b62.tar.xz glibc-783c4820303fb6b031d401564f8089ecaf154b62.zip |
Fix sched_param
-rw-r--r-- | bits/sched.h | 6 | ||||
-rw-r--r-- | bits/types/struct___sched_param.h | 28 | ||||
-rw-r--r-- | bits/types/struct_sched_param.h | 28 | ||||
-rw-r--r-- | posix/Makefile | 3 | ||||
-rw-r--r-- | posix/sched.h | 2 | ||||
-rw-r--r-- | sysdeps/htl/bits/types/struct___pthread_attr.h | 4 | ||||
-rw-r--r-- | sysdeps/htl/pt-attr.c | 2 | ||||
-rw-r--r-- | sysdeps/htl/timer_routines.h | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/bits/sched.h | 6 |
9 files changed, 66 insertions, 17 deletions
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..a6d95bfd61 --- /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 0000000000..60707023d5 --- /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..2a1cb2dd47 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 619b3b3a81..87a2336384 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 2299c0179f..5c4b4e6c30 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 77ecc73465..fc39aa63d6 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 a8134f510f..062128cf92 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 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 |