summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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 323533bfdb..10d8eebedc 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-17 Ralf Corsépius <ralf.corsepius@rtems.org>
* configure.ac: Require autoconf-2.60. Require automake-1.10.
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");