diff options
Diffstat (limited to 'cpukit/rtems/src/semrelease.c')
-rw-r--r-- | cpukit/rtems/src/semrelease.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/cpukit/rtems/src/semrelease.c b/cpukit/rtems/src/semrelease.c index 007914c09a..10fe743480 100644 --- a/cpukit/rtems/src/semrelease.c +++ b/cpukit/rtems/src/semrelease.c @@ -32,11 +32,7 @@ rtems_status_code rtems_semaphore_release( rtems_id id ) rtems_attribute attribute_set; Status_Control status; - the_semaphore = _Semaphore_Get( - id, - &queue_context, - _Semaphore_Core_mutex_mp_support - ); + the_semaphore = _Semaphore_Get( id, &queue_context ); if ( the_semaphore == NULL ) { #if defined(RTEMS_MULTIPROCESSING) @@ -46,6 +42,11 @@ rtems_status_code rtems_semaphore_release( rtems_id id ) #endif } + _Thread_queue_Context_set_MP_callout( + &queue_context, + _Semaphore_Core_mutex_mp_support + ); + attribute_set = the_semaphore->attribute_set; #if defined(RTEMS_SMP) if ( _Attributes_Is_multiprocessor_resource_sharing( attribute_set ) ) { |