This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
conformtest: Clean up expectations for POSIX for sched.h
- From: "Joseph S. Myers" <joseph at codesourcery dot com>
- To: <libc-alpha at sourceware dot org>
- Date: Thu, 19 Sep 2013 00:09:58 +0000
- Subject: conformtest: Clean up expectations for POSIX for sched.h
- Authentication-results: sourceware.org; auth=none
This patch cleans up the conformtest expectations for <sched.h> for
POSIX (1996), with incidental fixes for other standard versions.
The whole header isn't defined at all for XPG3/XPG4 so shouldn't be
tested for them. POSIX (1996) and UNIX98 require all <time.h> symbols
to be provided by <sched.h>; this was relaxed in later versions to
make it optional (this testsuite change shows up that glibc is failing
to meeting this requirement of those old standard versions). Certain
optional symbols aren't mentioned at all in older standard versions so
shouldn't be explicitly tested for in that case (they are still
permitted by the general permission for sched_* and SCHED_*).
This is independent of the similar patch for pthread.h expectations
<https://sourceware.org/ml/libc-alpha/2013-09/msg00436.html>, pending
review.
Tested x86_64.
2013-09-19 Joseph Myers <joseph@codesourcery.com>
* conform/data/sched.h-data [XPG3 || XPG4]: Disable whole file.
[POSIX || UNIX98]: Require rather than permitting all symbols from
<time.h>.
[POSIX || UNIX98] (sched_ss_low_priority): Do not specify optional
element of struct sched_param.
[POSIX || UNIX98] (sched_ss_repl_period): Likewise.
[POSIX || UNIX98] (sched_ss_init_budget): Likewise.
[POSIX || UNIX98] (sched_ss_max_repl): Likewise.
[POSIX || UNIX98] (SCHED_SPORADIC): Do not specify optional
constant.
diff --git a/conform/data/sched.h-data b/conform/data/sched.h-data
index 78eb2e4..610406d 100644
--- a/conform/data/sched.h-data
+++ b/conform/data/sched.h-data
@@ -1,10 +1,18 @@
-#if !defined ISO && !defined ISO99 && !defined ISO11
+#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG3 && !defined XPG4
+# if defined POSIX || defined UNIX98
+# include "time.h-data"
+# else
+allow-header time.h
+# endif
+
type {struct sched_param}
element {struct sched_param} int sched_priority
+# if !defined POSIX && !defined UNIX98
optional-element {struct sched_param} int sched_ss_low_priority
optional-element {struct sched_param} {struct timespec} sched_ss_repl_period
optional-element {struct sched_param} {struct timespec} sched_ss_init_budget
optional-element {struct sched_param} int sched_ss_max_repl
+# endif
# if defined XOPEN2K8 || defined POSIX2008
type pid_t
@@ -14,7 +22,9 @@ type {struct timespec}
constant SCHED_FIFO
constant SCHED_RR
+# if !defined POSIX && !defined UNIX98
optional-constant SCHED_SPORADIC
+# endif
constant SCHED_OTHER
function int sched_get_priority_max (int)
@@ -26,8 +36,6 @@ function int sched_setparam (pid_t, const struct sched_param*)
function int sched_setscheduler (pid_t, int, const struct sched_param*)
function int sched_yield (void)
-allow-header time.h
-
allow sched_*
allow SCHED_*
allow *_t
--
Joseph S. Myers
joseph@codesourcery.com