From 3507c6df7041f19ec33c6056076520849dd59ac3 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Mon, 5 Jan 2009 20:26:01 +0000 Subject: 2009-01-05 Joel Sherrill * libcsupport/src/gxx_wrappers.c, posix/include/mqueue.h, posix/include/rtems/posix/semaphore.h, posix/inline/rtems/posix/barrier.inl, posix/inline/rtems/posix/key.inl, posix/inline/rtems/posix/mqueue.inl, posix/inline/rtems/posix/rwlock.inl, posix/inline/rtems/posix/semaphore.inl, posix/inline/rtems/posix/spinlock.inl, posix/inline/rtems/posix/timer.inl, posix/src/condget.c, posix/src/mqueuenametoid.c, posix/src/mutexget.c, posix/src/semaphorenametoid.c, posix/src/semopen.c, sapi/src/itronapi.c, sapi/src/posixapi.c: Make changes necessary for all tests to run on SPARC with 16-bit Ids. This required ensuring that all POSIX and compilering binding code makes a distinction between the public Id type (e.g. pthread_t, etc.) and the RTEMS Object_Id type. All POSIX Object Get routines should not take the POSIX Id type as the argument. Sixteen bit RTEMS Ids should be placed into the 32-bits reserved by the POSIX API type in a uniform manner now. This removed all assumptions that the external Id types in POSIX and ITRON are the same as the internal Object Id type. --- cpukit/libcsupport/src/gxx_wrappers.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'cpukit/libcsupport/src/gxx_wrappers.c') diff --git a/cpukit/libcsupport/src/gxx_wrappers.c b/cpukit/libcsupport/src/gxx_wrappers.c index ed772eb9d9..81a162fa2f 100644 --- a/cpukit/libcsupport/src/gxx_wrappers.c +++ b/cpukit/libcsupport/src/gxx_wrappers.c @@ -209,7 +209,7 @@ int rtems_gxx_mutex_lock (__gthread_mutex_t *mutex) #ifdef DEBUG_GXX_WRAPPERS printk( "gxx_wrappers: lock mutex=%X\n", *mutex ); #endif - return ( rtems_semaphore_obtain( (rtems_id)*mutex, + return ( rtems_semaphore_obtain( *(rtems_id *)mutex, RTEMS_WAIT, RTEMS_NO_TIMEOUT ) == RTEMS_SUCCESSFUL) ? 0 : -1; } @@ -218,7 +218,7 @@ int rtems_gxx_mutex_destroy (__gthread_mutex_t *mutex) #ifdef DEBUG_GXX_WRAPPERS printk( "gxx_wrappers: destroy mutex=%X\n", *mutex ); #endif - return ( rtems_semaphore_delete((rtems_id)*mutex) + return ( rtems_semaphore_delete(*(rtems_id *)mutex) == RTEMS_SUCCESSFUL) ? 0 : -1; } @@ -227,7 +227,7 @@ int rtems_gxx_mutex_trylock (__gthread_mutex_t *mutex) #ifdef DEBUG_GXX_WRAPPERS printk( "gxx_wrappers: trylock mutex=%X\n", *mutex ); #endif - return (rtems_semaphore_obtain ((rtems_id)*mutex, + return (rtems_semaphore_obtain (*(rtems_id *)mutex, RTEMS_NO_WAIT, 0) == RTEMS_SUCCESSFUL) ? 0 : -1; } @@ -236,7 +236,8 @@ int rtems_gxx_mutex_unlock (__gthread_mutex_t *mutex) #ifdef DEBUG_GXX_WRAPPERS printk( "gxx_wrappers: unlock mutex=%X\n", *mutex ); #endif - return (rtems_semaphore_release( (rtems_id)*mutex ) == RTEMS_SUCCESSFUL) ? 0 :-1; + return (rtems_semaphore_release( *(rtems_id *)mutex ) + == RTEMS_SUCCESSFUL) ? 0 :-1; } void rtems_gxx_recursive_mutex_init(__gthread_recursive_mutex_t *mutex) -- cgit v1.2.3