From 302f5fa5797c8bf7298f65d51d6113434912fbc4 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Mon, 30 Oct 2006 22:22:00 +0000 Subject: 2006-10-30 Joel Sherrill PR 841/rtems * psxsem01/init.c: Make sem_timedwait more conformant to Open Group specification. --- testsuites/psxtests/ChangeLog | 6 ++++++ testsuites/psxtests/psxsem01/init.c | 9 +++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) (limited to 'testsuites') 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 + + PR 841/rtems + * psxsem01/init.c: Make sem_timedwait more conformant to Open Group + specification. + 2006-10-17 Ralf Corsépius * 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"); -- cgit v1.2.3