summaryrefslogtreecommitdiffstats
path: root/testsuites
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2006-10-30 22:21:44 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2006-10-30 22:21:44 +0000
commitae54141bffa3db8f5e4a0837aa9c44635a40d458 (patch)
tree25ca2673a6bb825abfe390dac868dc132b5f0bfc /testsuites
parent2006-10-30 Joel Sherrill <joel@OARcorp.com> (diff)
downloadrtems-ae54141bffa3db8f5e4a0837aa9c44635a40d458.tar.bz2
2006-10-30 Joel Sherrill <joel@OARcorp.com>
PR 841/rtems * psxsem01/init.c: Make sem_timedwait more conformant to Open Group specification.
Diffstat (limited to 'testsuites')
-rw-r--r--testsuites/psxtests/ChangeLog6
-rw-r--r--testsuites/psxtests/psxsem01/init.c9
2 files changed, 13 insertions, 2 deletions
diff --git a/testsuites/psxtests/ChangeLog b/testsuites/psxtests/ChangeLog
index b9e13045f1..a29df3185d 100644
--- a/testsuites/psxtests/ChangeLog
+++ b/testsuites/psxtests/ChangeLog
@@ -1,3 +1,9 @@
+2006-10-30 Joel Sherrill <joel@OARcorp.com>
+
+ PR 841/rtems
+ * psxsem01/init.c: Make sem_timedwait more conformant to Open Group
+ specification.
+
2006-10-19 Ralf Corsépius <ralf.corsepius@rtems.org>
* configure.ac: Require automake-1.10. Require autoconf-2.60.
diff --git a/testsuites/psxtests/psxsem01/init.c b/testsuites/psxtests/psxsem01/init.c
index bfb2175017..71b48e372f 100644
--- a/testsuites/psxtests/psxsem01/init.c
+++ b/testsuites/psxtests/psxsem01/init.c
@@ -89,6 +89,9 @@ void *POSIX_Init(
fatal_posix_service_status( status, -1, "sem_trywait error return status");
fatal_posix_service_status( errno, EINVAL, "sem_trywait errno EINVAL");
+ status = sem_post(&sems[2]);
+ fatal_posix_service_status( status, 0, "sem_post semaphore 2");
+
puts( "Init: sem_timedwait - SUCCESSFUL" );
waittime.tv_sec = 0;
waittime.tv_nsec = 100;
@@ -96,12 +99,14 @@ void *POSIX_Init(
fatal_posix_service_status( status, 0, "sem_timedwait semaphore 2");
puts( "Init: sem_timedwait - UNSUCCESSFUL (ETIMEDOUT)" );
- status = sem_timedwait(&sems[1], &waittime);
+ status = sem_timedwait(&sems[2], &waittime);
fatal_posix_service_status( status, -1, "sem_timedwait error return status");
fatal_posix_service_status( errno, ETIMEDOUT, "sem_timedwait errno ETIMEDOUT");
puts( "Init: sem_timedwait - UNSUCCESSFUL (EINVAL)" );
- status = sem_timedwait(&sem2, &waittime);
+ waittime.tv_sec = 0;
+ waittime.tv_nsec = 0x40000000;
+ status = sem_timedwait(&sems[2], &waittime);
fatal_posix_service_status( status, -1, "sem_timedwait error return status");
fatal_posix_service_status( errno, EINVAL, "sem_init errno EINVAL");