summaryrefslogtreecommitdiffstats
path: root/cpukit/score/src/coresemsurrender.c
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/score/src/coresemsurrender.c')
-rw-r--r--cpukit/score/src/coresemsurrender.c66
1 files changed, 0 insertions, 66 deletions
diff --git a/cpukit/score/src/coresemsurrender.c b/cpukit/score/src/coresemsurrender.c
deleted file mode 100644
index 9b3d8fd4be..0000000000
--- a/cpukit/score/src/coresemsurrender.c
+++ /dev/null
@@ -1,66 +0,0 @@
-/**
- * @file
- *
- * @brief Surrenders a Unit to a Semaphore
- *
- * @ingroup ScoreSemaphore
- */
-
-/*
- * COPYRIGHT (c) 1989-1999.
- * On-Line Applications Research Corporation (OAR).
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#if HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <rtems/score/coresemimpl.h>
-
-CORE_semaphore_Status _CORE_semaphore_Surrender(
- CORE_semaphore_Control *the_semaphore,
- Objects_Id id,
- CORE_semaphore_API_mp_support_callout api_semaphore_mp_support,
- ISR_lock_Context *lock_context
-)
-{
- Thread_Control *the_thread;
- CORE_semaphore_Status status;
-
- status = CORE_SEMAPHORE_STATUS_SUCCESSFUL;
-
- _Thread_queue_Acquire_critical( &the_semaphore->Wait_queue, lock_context );
-
- the_thread = _Thread_queue_First_locked( &the_semaphore->Wait_queue );
- if ( the_thread != NULL ) {
-#if defined(RTEMS_MULTIPROCESSING)
- _Thread_Dispatch_disable();
-#endif
-
- _Thread_queue_Extract_critical(
- &the_semaphore->Wait_queue,
- the_thread,
- lock_context
- );
-
-#if defined(RTEMS_MULTIPROCESSING)
- if ( !_Objects_Is_local_id( the_thread->Object.id ) )
- (*api_semaphore_mp_support) ( the_thread, id );
-
- _Thread_Dispatch_enable( _Per_CPU_Get() );
-#endif
- } else {
- if ( the_semaphore->count < the_semaphore->Attributes.maximum_count )
- the_semaphore->count += 1;
- else
- status = CORE_SEMAPHORE_MAXIMUM_COUNT_EXCEEDED;
-
- _Thread_queue_Release( &the_semaphore->Wait_queue, lock_context );
- }
-
- return status;
-}