mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2025-12-05 15:15:44 +00:00
2009-09-13 Joel Sherrill <joel.sherrill@oarcorp.com>
* score/include/rtems/score/coresem.h, score/src/coresemseize.c: Disable body of _CORE_semaphore_Seize() if it is not used because all APIs using it are disabled.
This commit is contained in:
@@ -1,3 +1,9 @@
|
|||||||
|
2009-09-13 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||||
|
|
||||||
|
* score/include/rtems/score/coresem.h, score/src/coresemseize.c:
|
||||||
|
Disable body of _CORE_semaphore_Seize() if it is not used because all
|
||||||
|
APIs using it are disabled.
|
||||||
|
|
||||||
2009-09-13 Joel Sherrill <joel.sherrill@oarcorp.com>
|
2009-09-13 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||||
|
|
||||||
* score/include/rtems/score/tod.h: Fix typo.
|
* score/include/rtems/score/tod.h: Fix typo.
|
||||||
|
|||||||
@@ -38,6 +38,10 @@ extern "C" {
|
|||||||
#include <rtems/score/priority.h>
|
#include <rtems/score/priority.h>
|
||||||
#include <rtems/score/watchdog.h>
|
#include <rtems/score/watchdog.h>
|
||||||
|
|
||||||
|
#if defined(RTEMS_POSIX_API) || defined(RTEMS_ITRON_API)
|
||||||
|
#define RTEMS_SCORE_CORESEM_ENABLE_SEIZE_BODY
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The following type defines the callout which the API provides
|
* The following type defines the callout which the API provides
|
||||||
* to support global/multiprocessor operations on semaphores.
|
* to support global/multiprocessor operations on semaphores.
|
||||||
@@ -135,25 +139,27 @@ void _CORE_semaphore_Initialize(
|
|||||||
uint32_t initial_value
|
uint32_t initial_value
|
||||||
);
|
);
|
||||||
|
|
||||||
/**
|
#if defined(RTEMS_SCORE_CORESEM_ENABLE_SEIZE_BODY)
|
||||||
* This routine attempts to receive a unit from @a the_semaphore.
|
/**
|
||||||
* If a unit is available or if the wait flag is false, then the routine
|
* This routine attempts to receive a unit from @a the_semaphore.
|
||||||
* returns. Otherwise, the calling task is blocked until a unit becomes
|
* If a unit is available or if the wait flag is false, then the routine
|
||||||
* available.
|
* returns. Otherwise, the calling task is blocked until a unit becomes
|
||||||
*
|
* available.
|
||||||
* @param[in] the_semaphore is the semaphore to seize
|
*
|
||||||
* @param[in] id is the Id of the API level Semaphore object associated
|
* @param[in] the_semaphore is the semaphore to seize
|
||||||
* with this instance of a SuperCore Semaphore
|
* @param[in] id is the Id of the API level Semaphore object associated
|
||||||
* @param[in] wait indicates if the caller is willing to block
|
* with this instance of a SuperCore Semaphore
|
||||||
* @param[in] timeout is the number of ticks the calling thread is willing
|
* @param[in] wait indicates if the caller is willing to block
|
||||||
* to wait if @a wait is true.
|
* @param[in] timeout is the number of ticks the calling thread is willing
|
||||||
*/
|
* to wait if @a wait is true.
|
||||||
void _CORE_semaphore_Seize(
|
*/
|
||||||
CORE_semaphore_Control *the_semaphore,
|
void _CORE_semaphore_Seize(
|
||||||
Objects_Id id,
|
CORE_semaphore_Control *the_semaphore,
|
||||||
bool wait,
|
Objects_Id id,
|
||||||
Watchdog_Interval timeout
|
bool wait,
|
||||||
);
|
Watchdog_Interval timeout
|
||||||
|
);
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This routine frees a unit to the semaphore. If a task was blocked waiting
|
* This routine frees a unit to the semaphore. If a task was blocked waiting
|
||||||
|
|||||||
@@ -28,10 +28,8 @@
|
|||||||
#include <rtems/score/thread.h>
|
#include <rtems/score/thread.h>
|
||||||
#include <rtems/score/threadq.h>
|
#include <rtems/score/threadq.h>
|
||||||
|
|
||||||
/*PAGE
|
#if defined(RTEMS_SCORE_CORESEM_ENABLE_SEIZE_BODY)
|
||||||
*
|
/*
|
||||||
* _CORE_semaphore_Seize
|
|
||||||
*
|
|
||||||
* This routine attempts to allocate a core semaphore to the calling thread.
|
* This routine attempts to allocate a core semaphore to the calling thread.
|
||||||
*
|
*
|
||||||
* Input parameters:
|
* Input parameters:
|
||||||
@@ -87,3 +85,4 @@ void _CORE_semaphore_Seize(
|
|||||||
_ISR_Enable( level );
|
_ISR_Enable( level );
|
||||||
_Thread_queue_Enqueue( &the_semaphore->Wait_queue, timeout );
|
_Thread_queue_Enqueue( &the_semaphore->Wait_queue, timeout );
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user