summaryrefslogtreecommitdiffstats
path: root/cpukit/posix/include/rtems/posix/key.h
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2009-07-22 00:09:31 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2009-07-22 00:09:31 +0000
commit12a191ae15f78ba4a7df15b2bea6d74aa8aff707 (patch)
tree91f07e9c2b9c0d3a760edfd3593799c028543646 /cpukit/posix/include/rtems/posix/key.h
parent2009-07-21 Joel Sherrill <joel.sherrill@OARcorp.com> (diff)
downloadrtems-12a191ae15f78ba4a7df15b2bea6d74aa8aff707.tar.bz2
2009-07-21 Joel Sherrill <joel.sherrill@OARcorp.com>
* posix/include/rtems/posix/key.h, posix/src/keycreate.c, posix/src/keydelete.c, posix/src/keyrundestructors.c: Restructure a bit to make it easier to do coverage analysis. Eliminate is_active member of control structure because it was redundant with very the key object was open or closed.
Diffstat (limited to 'cpukit/posix/include/rtems/posix/key.h')
-rw-r--r--cpukit/posix/include/rtems/posix/key.h46
1 files changed, 21 insertions, 25 deletions
diff --git a/cpukit/posix/include/rtems/posix/key.h b/cpukit/posix/include/rtems/posix/key.h
index b8a8881137..1529076ce7 100644
--- a/cpukit/posix/include/rtems/posix/key.h
+++ b/cpukit/posix/include/rtems/posix/key.h
@@ -24,62 +24,58 @@
extern "C" {
#endif
-/*
- * Data Structure used to manage a POSIX key
+/**
+ * This is the data Structure used to manage a POSIX key.
*
- * NOTE: The Values is a table indexed by the index portion of the
- * ID of the currently executing thread.
+ * @note The Values is a table indexed by the index portion of the
+ * ID of the currently executing thread.
*/
-
typedef struct {
+ /** This field is the Object control structure. */
Objects_Control Object;
- bool is_active;
+ /** This field points to the optional destructor method. */
void (*destructor)( void * );
+ /** This field points to the values per thread. */
void **Values[ OBJECTS_APIS_LAST + 1 ];
} POSIX_Keys_Control;
-/*
+/**
* The following defines the information control block used to manage
* this class of objects.
*/
-
POSIX_EXTERN Objects_Information _POSIX_Keys_Information;
-/*
- * _POSIX_Keys_Manager_initialization
- *
- * DESCRIPTION:
+/**
+ * @brief _POSIX_Keys_Manager_initialization
*
* This routine performs the initialization necessary for this manager.
*/
-
void _POSIX_Key_Manager_initialization(void);
-/*
- * _POSIX_Keys_Run_destructors
- *
- * DESCRIPTION:
+/**
+ * @brief _POSIX_Keys_Run_destructors
*
* This function executes all the destructors associated with the thread's
* keys. This function will execute until all values have been set to NULL.
*
- * NOTE: This is the routine executed when a thread exits to
- * run through all the keys and do the destructor action.
+ * @param[in] thread is the thread whose keys should have all their
+ * destructors run.
+ *
+ * @note This is the routine executed when a thread exits to
+ * run through all the keys and do the destructor action.
*/
-
void _POSIX_Keys_Run_destructors(
Thread_Control *thread
);
-/*
- * _POSIX_Keys_Free
- *
- * DESCRIPTION:
+/**
+ * @brief _POSIX_Keys_Free
*
* This routine frees a keys control block to the
* inactive chain of free keys control blocks.
+ *
+ * @param[in] the_key is the POSIX key to free.
*/
-
RTEMS_INLINE_ROUTINE void _POSIX_Keys_Free (
POSIX_Keys_Control *the_key
);