summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2015-08-31 13:37:52 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2015-09-01 12:50:56 +0200
commit44f3ea917f5c4a1cc23107dfe1a5d44170eabc56 (patch)
treeb27e9b1308f5ab029ceaf4a8fdc0f85398de72d9
parentarm: Replace __sync_synchronize() implementation (diff)
downloadrtems-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.c18
-rw-r--r--testsuites/sptests/spsyslock01/init.c36
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);
}