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:
Joel Sherrill
2009-09-13 20:54:01 +00:00
parent 0fa8b4d1b0
commit 8907a01c00
3 changed files with 34 additions and 23 deletions

View File

@@ -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.

View File

@@ -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

View File

@@ -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