mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-27 06:31:54 +00:00
Add some do not hold locks notes to channel.h
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@333785 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -1104,6 +1104,7 @@ struct ast_datastore *ast_channel_datastore_find(struct ast_channel *chan, const
|
||||
* \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 @@ struct ast_channel * attribute_malloc __attribute__((format(printf, 13, 14)))
|
||||
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 @@ void ast_change_name(struct ast_channel *chan, const char *newname);
|
||||
* 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 @@ int ast_channel_trace_serialize(struct ast_channel *chan, struct ast_str **out);
|
||||
|
||||
/*!
|
||||
* \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 @@ int ast_channel_bridge(struct ast_channel *c0,struct ast_channel *c1,
|
||||
* 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 @@ struct ast_channel *ast_channel_iterator_next(struct ast_channel_iterator *i);
|
||||
* 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,
|
||||
|
||||
Reference in New Issue
Block a user