summaryrefslogtreecommitdiffstats
path: root/cpukit/rtems/inline/rtems/rtems/sem.inl
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1996-03-06 21:34:57 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1996-03-06 21:34:57 +0000
commit1a8fde6ca27afea19faf9bf6487d8aa20b4a8d41 (patch)
tree209ab42fa9bc98774d5290d670af14886390d269 /cpukit/rtems/inline/rtems/rtems/sem.inl
parentRemoved prototyes for static inline rgutines and moved the comments into (diff)
downloadrtems-1a8fde6ca27afea19faf9bf6487d8aa20b4a8d41.tar.bz2
Removed prototyes for static inline routines and moved the comments into
the inline implementation. The impetus for this was twofold. First, it is incorrect to have static inline prototypes when using the macro implementation. Second, this reduced the number of lines in the include files seen by rtems.h by about 2000 lines. Next we restricted visibility for the inline routines to inside the executive itself EXCEPT for a handful of objects. This reduced the number of include files included by rtems.h by 40 files and reduced the lines in the include files seen by rtems.h by about 6000 lines. In total, these reduced the compile time of the entire RTEMS tree by 20%. This results in about 8 minutes savings on the SparcStation 10 morgana.
Diffstat (limited to 'cpukit/rtems/inline/rtems/rtems/sem.inl')
-rw-r--r--cpukit/rtems/inline/rtems/rtems/sem.inl20
1 files changed, 20 insertions, 0 deletions
diff --git a/cpukit/rtems/inline/rtems/rtems/sem.inl b/cpukit/rtems/inline/rtems/rtems/sem.inl
index 518684a97a..c80431f9b1 100644
--- a/cpukit/rtems/inline/rtems/rtems/sem.inl
+++ b/cpukit/rtems/inline/rtems/rtems/sem.inl
@@ -21,6 +21,10 @@
*
* _Semaphore_Allocate
*
+ * DESCRIPTION:
+ *
+ * This function allocates a semaphore control block from
+ * the inactive chain of free semaphore control blocks.
*/
STATIC INLINE Semaphore_Control *_Semaphore_Allocate( void )
@@ -32,6 +36,10 @@ STATIC INLINE Semaphore_Control *_Semaphore_Allocate( void )
*
* _Semaphore_Free
*
+ * DESCRIPTION:
+ *
+ * This routine frees a semaphore control block to the
+ * inactive chain of free semaphore control blocks.
*/
STATIC INLINE void _Semaphore_Free (
@@ -45,6 +53,15 @@ STATIC INLINE void _Semaphore_Free (
*
* _Semaphore_Get
*
+ * DESCRIPTION:
+ *
+ * This function maps semaphore IDs to semaphore control blocks.
+ * If ID corresponds to a local semaphore, then it returns
+ * the_semaphore control pointer which maps to ID and location
+ * is set to OBJECTS_LOCAL. if the semaphore ID is global and
+ * resides on a remote node, then location is set to OBJECTS_REMOTE,
+ * and the_semaphore is undefined. Otherwise, location is set
+ * to OBJECTS_ERROR and the_semaphore is undefined.
*/
STATIC INLINE Semaphore_Control *_Semaphore_Get (
@@ -60,6 +77,9 @@ STATIC INLINE Semaphore_Control *_Semaphore_Get (
*
* _Semaphore_Is_null
*
+ * DESCRIPTION:
+ *
+ * This function returns TRUE if the_semaphore is NULL and FALSE otherwise.
*/
STATIC INLINE boolean _Semaphore_Is_null (