Doxygen doc updates

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@16551 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Olle Johansson 2006-03-30 19:05:00 +00:00
parent 4e5ea82b7e
commit c6d1bfbb31
1 changed files with 7 additions and 3 deletions

View File

@ -18,25 +18,29 @@
/*! \file /*! \file
* \brief General Asterisk channel locking definitions. * \brief General Asterisk channel locking definitions.
*
* - See \ref LockDef
*/
/* \page LockDef Asterisk thread locking models
* *
* This file provides several different implementation of the functions, * This file provides several different implementation of the functions,
* depending on the platform, the use of DEBUG_THREADS, and the way * depending on the platform, the use of DEBUG_THREADS, and the way
* global mutexes are initialized. * global mutexes are initialized.
* At the moment, we have 3 ways to initialize global mutexes, depending on * At the moment, we have 3 ways to initialize global mutexes, depending on
* *
* + static: the mutex is assigned the value AST_MUTEX_INIT_VALUE * - \b static: the mutex is assigned the value AST_MUTEX_INIT_VALUE
* this is done at compile time, and is the way used on Linux. * this is done at compile time, and is the way used on Linux.
* This method is not applicable to all platforms e.g. when the * This method is not applicable to all platforms e.g. when the
* initialization needs that some code is run. * initialization needs that some code is run.
* *
* + on first use: the mutex is assigned a magic value at compile time, * - \b on first use: the mutex is assigned a magic value at compile time,
* and ast_mutex_init() is called when this magic value is detected. * and ast_mutex_init() is called when this magic value is detected.
* This technique is generally applicable, though it has a bit of * This technique is generally applicable, though it has a bit of
* overhead on each access to check whether initialization is needed. * overhead on each access to check whether initialization is needed.
* On the other hand, the overall cost of a mutex_lock operation * On the other hand, the overall cost of a mutex_lock operation
* is such that this overhead is often negligible. * is such that this overhead is often negligible.
* + through constructors: for each mutex, a constructor function is * - \b through constructors: for each mutex, a constructor function is
* defined, which then runs when the program (or the module) * defined, which then runs when the program (or the module)
* starts. The problem with this approach is that there is a * starts. The problem with this approach is that there is a
* lot of code duplication (a new block of code is created for * lot of code duplication (a new block of code is created for