summaryrefslogtreecommitdiffstats
path: root/testsuites
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2006-10-30 22:22:00 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2006-10-30 22:22:00 +0000
commit302f5fa5797c8bf7298f65d51d6113434912fbc4 (patch)
tree8539a47b289392625f2b7d466c43d9f91c85f969 /testsuites
parent2006-10-30 Joel Sherrill <joel@OARcorp.com> (diff)
downloadrtems-302f5fa5797c8bf7298f65d51d6113434912fbc4.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 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");