about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2010-09-01 18:11:31 -0700
committerRoland McGrath <roland@redhat.com>2010-09-01 18:11:31 -0700
commitece298407076558531796450af39199aa0b34bef (patch)
treeeed813f1d1f705d20b390d9d14ba35aa151b3545
parentfdc0c10d9b5c39ec20c35d2f3808d3c70cb7f60b (diff)
downloadglibc-ece298407076558531796450af39199aa0b34bef.tar.gz
glibc-ece298407076558531796450af39199aa0b34bef.tar.xz
glibc-ece298407076558531796450af39199aa0b34bef.zip
Fix generic bits/sched.h for #define __need_schedparam uses.
-rw-r--r--ChangeLog12
-rw-r--r--bits/sched.h15
2 files changed, 27 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index df90c9198f..fd4b7751ca 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2010-09-01  Samuel Thibault  <samuel.thibault@ens-lyon.org>
+
+        This aligns bits/sched.h onto sysdeps/unix/sysv/linux/bits/sched.h:
+        Define __sched_param instead of SCHED_* and sched_param when
+	<bits/sched.h> is included with __need_schedparam defined.
+        * bits/sched.h [__need_schedparam]
+	(SCHED_OTHER, SCHED_FIFO, SCHED_RR, sched_param): Do not define.
+        [!__defined_schedparam && (__need_schedparam || _SCHED_H)]
+        (__defined_schedparam): Define to 1.
+	(__sched_param): New structure, identical to sched_param.
+	(__need_schedparam): Undefine.
+
 2010-08-31  Mike Frysinger  <vapier@gentoo.org>
 
 	* sysdeps/unix/sysv/linux/sparc/sys/epoll.h (epoll_create2): Delete.
diff --git a/bits/sched.h b/bits/sched.h
index af92dbca35..a068e50161 100644
--- a/bits/sched.h
+++ b/bits/sched.h
@@ -18,6 +18,8 @@
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA.  */
 
+#ifndef __need_schedparam
+
 #ifndef _SCHED_H
 # error "Never include <bits/sched.h> directly; use <sched.h> instead."
 #endif
@@ -34,6 +36,19 @@ struct sched_param
   int __sched_priority;
 };
 
+#endif	/* need schedparam */
+
+#if !defined __defined_schedparam \
+    && (defined __need_schedparam || defined _SCHED_H)
+# define __defined_schedparam	1
+/* Data structure to describe a process' schedulability.  */
+struct __sched_param
+  {
+    int __sched_priority;
+  };
+# undef __need_schedparam
+#endif
+
 
 #if defined _SCHED_H && !defined __cpu_set_t_defined
 # define __cpu_set_t_defined