[asterisk-commits] rmudgett: branch 1.8 r333785 - /branches/1.8/include/asterisk/channel.h
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Mon Aug 29 16:06:19 CDT 2011
Author: rmudgett
Date: Mon Aug 29 16:06:16 2011
New Revision: 333785
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=333785
Log:
Add some do not hold locks notes to channel.h
Modified:
branches/1.8/include/asterisk/channel.h
Modified: branches/1.8/include/asterisk/channel.h
URL: http://svnview.digium.com/svn/asterisk/branches/1.8/include/asterisk/channel.h?view=diff&rev=333785&r1=333784&r2=333785
==============================================================================
--- branches/1.8/include/asterisk/channel.h (original)
+++ branches/1.8/include/asterisk/channel.h Mon Aug 29 16:06:16 2011
@@ -1104,6 +1104,7 @@
* \retval NULL failure
* \retval non-NULL successfully allocated channel
*
+ * \note Absolutely _NO_ channel locks should be held before calling this function.
* \note By default, new channels are set to the "s" extension
* and "default" context.
*/
@@ -1115,6 +1116,16 @@
const char *file, int line, const char *function,
const char *name_fmt, ...);
+/*!
+ * \brief Create a channel structure
+ *
+ * \retval NULL failure
+ * \retval non-NULL successfully allocated channel
+ *
+ * \note Absolutely _NO_ channel locks should be held before calling this function.
+ * \note By default, new channels are set to the "s" extension
+ * and "default" context.
+ */
#define ast_channel_alloc(needqueue, state, cid_num, cid_name, acctcode, exten, context, linkedid, amaflag, ...) \
__ast_channel_alloc(needqueue, state, cid_num, cid_name, acctcode, exten, context, linkedid, amaflag, \
__FILE__, __LINE__, __FUNCTION__, __VA_ARGS__)
@@ -1247,6 +1258,7 @@
* if it is still there and also release the current reference to the channel.
*
* \return NULL, convenient for clearing invalid pointers
+ * \note Absolutely _NO_ channel locks should be held before calling this function.
*
* \since 1.8
*/
@@ -1376,6 +1388,7 @@
/*!
* \brief Hang up a channel
+ * \note Absolutely _NO_ channel locks should be held before calling this function.
* \note This function performs a hard hangup on a channel. Unlike the soft-hangup, this function
* performs all stream stopping, etc, on the channel that needs to end.
* chan is no longer valid after this call.
@@ -1924,7 +1937,9 @@
* p->owner pointer) that is affected by the change. The physical layer of the original
* channel is hung up.
*
- * \note Neither channel passed here needs to be locked before calling this function.
+ * \note Neither channel passed here should be locked before
+ * calling this function. This function performs deadlock
+ * avoidance involving these two channels.
*/
int ast_channel_masquerade(struct ast_channel *original, struct ast_channel *clone);
@@ -2528,6 +2543,7 @@
* This function executes a callback one time for each active channel on the
* system. The channel is provided as an argument to the function.
*
+ * \note Absolutely _NO_ channel locks should be held before calling this function.
* \since 1.8
*/
struct ast_channel *ast_channel_callback(ao2_callback_data_fn *cb_fn, void *arg,
More information about the asterisk-commits
mailing list