diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2006-10-30 22:21:44 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2006-10-30 22:21:44 +0000 |
commit | ae54141bffa3db8f5e4a0837aa9c44635a40d458 (patch) | |
tree | 25ca2673a6bb825abfe390dac868dc132b5f0bfc | |
parent | 2006-10-30 Joel Sherrill <joel@OARcorp.com> (diff) | |
download | rtems-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.
-rw-r--r-- | testsuites/psxtests/ChangeLog | 6 | ||||
-rw-r--r-- | testsuites/psxtests/psxsem01/init.c | 9 |
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"); |