diff options
author | Ulrich Drepper <drepper@redhat.com> | 2003-02-13 19:50:46 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2003-02-13 19:50:46 +0000 |
commit | e8cda341a4e8893a5932a0d22440e7c191c37564 (patch) | |
tree | 153610ed89e615fb1475ae0c3ab897726cb652c1 /nptl/tst-attr1.c | |
parent | 89e78a954dbd659e0e118aa577d0656363d3c1c2 (diff) | |
download | glibc-e8cda341a4e8893a5932a0d22440e7c191c37564.tar.gz glibc-e8cda341a4e8893a5932a0d22440e7c191c37564.tar.xz glibc-e8cda341a4e8893a5932a0d22440e7c191c37564.zip |
Update.
2003-02-13 Ulrich Drepper <drepper@redhat.com> * Makefile (tests): Add tst-cleanup3. * tst-cleanup3.c: New file.
Diffstat (limited to 'nptl/tst-attr1.c')
-rw-r--r-- | nptl/tst-attr1.c | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/nptl/tst-attr1.c b/nptl/tst-attr1.c index 5c86a1fa20..bfa7075018 100644 --- a/nptl/tst-attr1.c +++ b/nptl/tst-attr1.c @@ -35,6 +35,11 @@ do_test (void) exit (1); } + /* XXX Remove if default value is clear. */ + pthread_attr_setinheritsched (&a, PTHREAD_INHERIT_SCHED); + pthread_attr_setschedpolicy (&a, SCHED_OTHER); + pthread_attr_setscope (&a, PTHREAD_SCOPE_SYSTEM); + for (i = 0; i < 10000; ++i) { long int r = random (); @@ -63,6 +68,81 @@ detach state changed to %d by invalid setdetachstate call\n", s); exit (1); } } + + if (r != PTHREAD_INHERIT_SCHED && r != PTHREAD_EXPLICIT_SCHED) + { + int e = pthread_attr_setinheritsched (&a, r); + + if (e == 0) + { + printf ("attr_setinheritsched with value %ld succeeded\n", r); + exit (1); + } + + int s; + if (pthread_attr_getinheritsched (&a, &s) != 0) + { + puts ("attr_getinheritsched failed"); + exit (1); + } + + if (s != PTHREAD_INHERIT_SCHED) + { + printf ("\ +inheritsched changed to %d by invalid setinheritsched call\n", s); + exit (1); + } + } + + if (r != SCHED_OTHER && r != SCHED_RR && r != SCHED_FIFO) + { + int e = pthread_attr_setschedpolicy (&a, r); + + if (e == 0) + { + printf ("attr_setschedpolicy with value %ld succeeded\n", r); + exit (1); + } + + int s; + if (pthread_attr_getschedpolicy (&a, &s) != 0) + { + puts ("attr_getschedpolicy failed"); + exit (1); + } + + if (s != SCHED_OTHER) + { + printf ("\ +schedpolicy changed to %d by invalid setschedpolicy call\n", s); + exit (1); + } + } + + if (r != PTHREAD_SCOPE_SYSTEM && r != PTHREAD_SCOPE_PROCESS) + { + int e = pthread_attr_setscope (&a, r); + + if (e == 0) + { + printf ("attr_setscope with value %ld succeeded\n", r); + exit (1); + } + + int s; + if (pthread_attr_getscope (&a, &s) != 0) + { + puts ("attr_getscope failed"); + exit (1); + } + + if (s != PTHREAD_SCOPE_SYSTEM) + { + printf ("\ +contentionscope changed to %d by invalid setscope call\n", s); + exit (1); + } + } } return 0; |