From 783c4820303fb6b031d401564f8089ecaf154b62 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Wed, 18 Apr 2018 00:27:31 +0200 Subject: Fix sched_param --- bits/types/struct_sched_param.h | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 bits/types/struct_sched_param.h (limited to '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 + . */ + +#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 */ -- cgit v1.2.3 From c15f10ee78c6fa837732bb0b3d6cec44e4171fcd Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Thu, 19 Apr 2018 00:09:58 +0200 Subject: Revert "Fix sched_param" This reverts commit 783c4820303fb6b031d401564f8089ecaf154b62 which accidentaly flew out. --- bits/sched.h | 6 +++++- bits/types/struct___sched_param.h | 28 -------------------------- bits/types/struct_sched_param.h | 28 -------------------------- posix/Makefile | 3 +-- posix/sched.h | 2 +- sysdeps/htl/bits/types/struct___pthread_attr.h | 4 ++-- sysdeps/htl/pt-attr.c | 2 +- sysdeps/htl/timer_routines.h | 4 ++-- sysdeps/unix/sysv/linux/bits/sched.h | 6 +++++- 9 files changed, 17 insertions(+), 66 deletions(-) delete mode 100644 bits/types/struct___sched_param.h delete mode 100644 bits/types/struct_sched_param.h (limited to 'bits/types/struct_sched_param.h') diff --git a/bits/sched.h b/bits/sched.h index bdd94c969d..8d9f077eee 100644 --- a/bits/sched.h +++ b/bits/sched.h @@ -29,6 +29,10 @@ #define SCHED_FIFO 1 #define SCHED_RR 2 -#include +/* Data structure to describe a process' schedulability. */ +struct sched_param +{ + int sched_priority; +}; #endif /* bits/sched.h */ diff --git a/bits/types/struct___sched_param.h b/bits/types/struct___sched_param.h deleted file mode 100644 index a6d95bfd61..0000000000 --- a/bits/types/struct___sched_param.h +++ /dev/null @@ -1,28 +0,0 @@ -/* 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 - . */ - -#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 deleted file mode 100644 index 60707023d5..0000000000 --- a/bits/types/struct_sched_param.h +++ /dev/null @@ -1,28 +0,0 @@ -/* 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 - . */ - -#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 2a1cb2dd47..51dcf129ec 100644 --- a/posix/Makefile +++ b/posix/Makefile @@ -31,8 +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 \ - bits/types/struct___sched_param.h bits/types/struct_sched_param.h + cpio.h spawn.h bits/unistd.h routines := \ uname \ diff --git a/posix/sched.h b/posix/sched.h index 87a2336384..619b3b3a81 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 5c4b4e6c30..2299c0179f 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 +#include #define __need_size_t #include @@ -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 fc39aa63d6..77ecc73465 100644 --- a/sysdeps/htl/pt-attr.c +++ b/sysdeps/htl/pt-attr.c @@ -24,7 +24,7 @@ #include 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 062128cf92..a8134f510f 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 34f27a7d9b..24159c57b3 100644 --- a/sysdeps/unix/sysv/linux/bits/sched.h +++ b/sysdeps/unix/sysv/linux/bits/sched.h @@ -71,7 +71,11 @@ # define CLONE_IO 0x80000000 /* Clone I/O context. */ #endif -#include +/* Data structure to describe a process' schedulability. */ +struct sched_param +{ + int sched_priority; +}; __BEGIN_DECLS -- cgit v1.2.3 From e60c3f2bb71210ca62dc09b1b797443a88b4e3cf Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Thu, 19 Apr 2018 20:21:33 +0200 Subject: hurd: Avoid exposing all symbols from sys/types.h * bits/sched.h: Include 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 instead of . * posix/Makefile (headers): Add bits/types/struct_sched_param.h. --- ChangeLog | 7 +++++++ 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 | 6 +----- 6 files changed, 39 insertions(+), 12 deletions(-) create mode 100644 bits/types/struct_sched_param.h (limited to 'bits/types/struct_sched_param.h') 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 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 + instead of . + * posix/Makefile (headers): Add bits/types/struct_sched_param.h. 2018-04-18 Joseph Myers 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 #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 + . */ + +#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 +#include #define __need_size_t #include 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 __BEGIN_DECLS -- cgit v1.2.3