summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Dachsberger <andreas.dachsberger@embedded-brains.de>2019-04-18 09:54:49 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2019-05-13 07:42:05 +0200
commit1bd608b91ef9d042825508bd1628ede79dc268c1 (patch)
tree0ae39b6c6540c3147bd21bfb352af7bc3ee8c637
parentdoxygen: score: adjust doc in muteximpl.h to doxygen guidelines (diff)
downloadrtems-1bd608b91ef9d042825508bd1628ede79dc268c1.tar.bz2
doxygen: score: adjust doc in onceimpl.h to doxygen guidelines
Update #3706.
-rw-r--r--cpukit/include/rtems/score/onceimpl.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/cpukit/include/rtems/score/onceimpl.h b/cpukit/include/rtems/score/onceimpl.h
index eee318982f..921c4927b0 100644
--- a/cpukit/include/rtems/score/onceimpl.h
+++ b/cpukit/include/rtems/score/onceimpl.h
@@ -39,10 +39,36 @@ extern "C" {
* @{
*/
+/**
+ * @brief Reacts according to the state of once_state.
+ *
+ * If once_state is ONCE_STATE_INIT, then the once state is set first to
+ * ONCE_STATE_RUNNING and after calling the init routine it is set to
+ * ONCE_STATE_COMPLETED. If once_state is ONCE_STATE_COMPLETED, nothing
+ * happens. If once_state is not either one, this method waits for the
+ * Once_Information_Mutex.
+ *
+ * @param once_state The once state.
+ * @param init_routine The initialization routine called if @a once_state is ONCE_STATE_INIT.
+ *
+ * @return This method always returns zero upon termination.
+ */
int _Once( unsigned char *once_state, void ( *init_routine )( void ) );
+/**
+ * @brief Locks the Once_Information_Mutex and returns the thread life state.
+ *
+ * @return The thread life state (THREAD_LIFE_PROTECTED).
+ */
Thread_Life_state _Once_Lock( void );
+/**
+ * @brief Unlocks the Once_Information_Mutex and sets the thread life
+ * protection to thread_life_state.
+ *
+ * @param thread_life_state The thread life state to set the thread life
+ * protection to.
+ */
void _Once_Unlock( Thread_Life_state thread_life_state );
/** @} */