diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2015-08-31 13:37:52 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2015-09-01 12:50:56 +0200 |
commit | 44f3ea917f5c4a1cc23107dfe1a5d44170eabc56 (patch) | |
tree | b27e9b1308f5ab029ceaf4a8fdc0f85398de72d9 | |
parent | arm: Replace __sync_synchronize() implementation (diff) | |
download | rtems-44f3ea917f5c4a1cc23107dfe1a5d44170eabc56.tar.bz2 |
score: Fix return status of mutex try acquire
This fixes a copy and paste error (from libbsd).
-rw-r--r-- | cpukit/score/src/mutex.c | 18 | ||||
-rw-r--r-- | testsuites/sptests/spsyslock01/init.c | 36 |
2 files changed, 27 insertions, 27 deletions
diff --git a/cpukit/score/src/mutex.c b/cpukit/score/src/mutex.c index f7cc12107f..ae637dda84 100644 --- a/cpukit/score/src/mutex.c +++ b/cpukit/score/src/mutex.c @@ -268,7 +268,7 @@ int _Mutex_Try_acquire( struct _Mutex_Control *_mutex ) ISR_lock_Context lock_context; Thread_Control *executing; Thread_Control *owner; - int success; + int eno; mutex = _Mutex_Get( _mutex ); executing = _Mutex_Queue_acquire( mutex, &lock_context ); @@ -278,14 +278,14 @@ int _Mutex_Try_acquire( struct _Mutex_Control *_mutex ) if ( __predict_true( owner == NULL ) ) { mutex->owner = executing; ++executing->resource_count; - success = 1; + eno = 0; } else { - success = 0; + eno = EBUSY; } _Mutex_Queue_release( mutex, &lock_context ); - return success; + return eno; } void _Mutex_Release( struct _Mutex_Control *_mutex ) @@ -393,7 +393,7 @@ int _Mutex_recursive_Try_acquire( struct _Mutex_recursive_Control *_mutex ) ISR_lock_Context lock_context; Thread_Control *executing; Thread_Control *owner; - int success; + int eno; mutex = _Mutex_recursive_Get( _mutex ); executing = _Mutex_Queue_acquire( &mutex->Mutex, &lock_context ); @@ -403,17 +403,17 @@ int _Mutex_recursive_Try_acquire( struct _Mutex_recursive_Control *_mutex ) if ( __predict_true( owner == NULL ) ) { mutex->Mutex.owner = executing; ++executing->resource_count; - success = 1; + eno = 0; } else if ( owner == executing ) { ++mutex->nest_level; - success = 1; + eno = 0; } else { - success = 0; + eno = EBUSY; } _Mutex_Queue_release( &mutex->Mutex, &lock_context ); - return success; + return eno; } void _Mutex_recursive_Release( struct _Mutex_recursive_Control *_mutex ) diff --git a/testsuites/sptests/spsyslock01/init.c b/testsuites/sptests/spsyslock01/init.c index c73fca7ede..8e4e3b8b10 100644 --- a/testsuites/sptests/spsyslock01/init.c +++ b/testsuites/sptests/spsyslock01/init.c @@ -125,32 +125,32 @@ static void test_recursive_acquire_normal(test_context *ctx) { struct _Mutex_Control *mtx = &ctx->mtx; size_t idx = 0; - int success; + int eno; - success = _Mutex_Try_acquire(mtx); - rtems_test_assert(success == 1); + eno = _Mutex_Try_acquire(mtx); + rtems_test_assert(eno == 0); - success = _Mutex_Try_acquire(mtx); - rtems_test_assert(success == 0); + eno = _Mutex_Try_acquire(mtx); + rtems_test_assert(eno == EBUSY); _Mutex_Release(mtx); - success = _Mutex_Try_acquire(mtx); - rtems_test_assert(success == 1); + eno = _Mutex_Try_acquire(mtx); + rtems_test_assert(eno == 0); _Mutex_Release(mtx); _Mutex_Acquire(mtx); - success = _Mutex_Try_acquire(mtx); - rtems_test_assert(success == 0); + eno = _Mutex_Try_acquire(mtx); + rtems_test_assert(eno == EBUSY); _Mutex_Release(mtx); send_event(ctx, idx, EVENT_MTX_ACQUIRE); - success = _Mutex_Try_acquire(mtx); - rtems_test_assert(success == 0); + eno = _Mutex_Try_acquire(mtx); + rtems_test_assert(eno == EBUSY); send_event(ctx, idx, EVENT_MTX_RELEASE); } @@ -159,15 +159,15 @@ static void test_recursive_acquire_recursive(test_context *ctx) { struct _Mutex_recursive_Control *mtx = &ctx->rec_mtx; size_t idx = 0; - int success; + int eno; - success = _Mutex_recursive_Try_acquire(mtx); - rtems_test_assert(success == 1); + eno = _Mutex_recursive_Try_acquire(mtx); + rtems_test_assert(eno == 0); _Mutex_recursive_Acquire(mtx); - success = _Mutex_recursive_Try_acquire(mtx); - rtems_test_assert(success == 1); + eno = _Mutex_recursive_Try_acquire(mtx); + rtems_test_assert(eno == 0); _Mutex_recursive_Release(mtx); _Mutex_recursive_Release(mtx); @@ -175,8 +175,8 @@ static void test_recursive_acquire_recursive(test_context *ctx) send_event(ctx, idx, EVENT_REC_MTX_ACQUIRE); - success = _Mutex_recursive_Try_acquire(mtx); - rtems_test_assert(success == 0); + eno = _Mutex_recursive_Try_acquire(mtx); + rtems_test_assert(eno == EBUSY); send_event(ctx, idx, EVENT_REC_MTX_RELEASE); } |