mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-05 20:20:07 +00:00
Add notes to autoservice and pbx doxygen regarding a potential
deadlock scenario so that it is avoided in the future git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@164416 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -1187,6 +1187,11 @@ int ast_autoservice_start(struct ast_channel *chan);
|
|||||||
/*!
|
/*!
|
||||||
* \brief Stop servicing a channel for us...
|
* \brief Stop servicing a channel for us...
|
||||||
*
|
*
|
||||||
|
* \note if chan is locked prior to calling ast_autoservice_stop, it
|
||||||
|
* is likely that there will be a deadlock between the thread that calls
|
||||||
|
* ast_autoservice_stop and the autoservice thread. It is important
|
||||||
|
* that chan is not locked prior to this call
|
||||||
|
*
|
||||||
* \retval 0 success
|
* \retval 0 success
|
||||||
* \retval -1 error, or the channel has been hungup
|
* \retval -1 error, or the channel has been hungup
|
||||||
*/
|
*/
|
||||||
|
@@ -383,6 +383,10 @@ int ast_get_hint(char *hint, int maxlen, char *name, int maxnamelen,
|
|||||||
* \param priority priority of the action within the extension
|
* \param priority priority of the action within the extension
|
||||||
* \param callerid callerid to search for
|
* \param callerid callerid to search for
|
||||||
*
|
*
|
||||||
|
* \note It is possible for autoservice to be started and stopped on c during this
|
||||||
|
* function call, it is important that c is not locked prior to calling this. Otherwise
|
||||||
|
* a deadlock may occur
|
||||||
|
*
|
||||||
* \return If an extension within the given context(or callerid) with the given priority
|
* \return If an extension within the given context(or callerid) with the given priority
|
||||||
* is found a non zero value will be returned. Otherwise, 0 is returned.
|
* is found a non zero value will be returned. Otherwise, 0 is returned.
|
||||||
*/
|
*/
|
||||||
@@ -398,6 +402,10 @@ int ast_exists_extension(struct ast_channel *c, const char *context, const char
|
|||||||
* \param label label of the action within the extension to match to priority
|
* \param label label of the action within the extension to match to priority
|
||||||
* \param callerid callerid to search for
|
* \param callerid callerid to search for
|
||||||
*
|
*
|
||||||
|
* \note It is possible for autoservice to be started and stopped on c during this
|
||||||
|
* function call, it is important that c is not locked prior to calling this. Otherwise
|
||||||
|
* a deadlock may occur
|
||||||
|
*
|
||||||
* \return the priority which matches the given label in the extension or -1 if not found.
|
* \return the priority which matches the given label in the extension or -1 if not found.
|
||||||
*/
|
*/
|
||||||
int ast_findlabel_extension(struct ast_channel *c, const char *context,
|
int ast_findlabel_extension(struct ast_channel *c, const char *context,
|
||||||
@@ -406,6 +414,10 @@ int ast_findlabel_extension(struct ast_channel *c, const char *context,
|
|||||||
/*!
|
/*!
|
||||||
* \brief Find the priority of an extension that has the specified label
|
* \brief Find the priority of an extension that has the specified label
|
||||||
*
|
*
|
||||||
|
* \note It is possible for autoservice to be started and stopped on c during this
|
||||||
|
* function call, it is important that c is not locked prior to calling this. Otherwise
|
||||||
|
* a deadlock may occur
|
||||||
|
*
|
||||||
* \note This function is the same as ast_findlabel_extension, except that it accepts
|
* \note This function is the same as ast_findlabel_extension, except that it accepts
|
||||||
* a pointer to an ast_context structure to specify the context instead of the
|
* a pointer to an ast_context structure to specify the context instead of the
|
||||||
* name of the context. Otherwise, the functions behave the same.
|
* name of the context. Otherwise, the functions behave the same.
|
||||||
@@ -422,6 +434,10 @@ int ast_findlabel_extension2(struct ast_channel *c, struct ast_context *con,
|
|||||||
* \param priority priority of extension path
|
* \param priority priority of extension path
|
||||||
* \param callerid callerid of extension being searched for
|
* \param callerid callerid of extension being searched for
|
||||||
*
|
*
|
||||||
|
* \note It is possible for autoservice to be started and stopped on c during this
|
||||||
|
* function call, it is important that c is not locked prior to calling this. Otherwise
|
||||||
|
* a deadlock may occur
|
||||||
|
*
|
||||||
* \return If "exten" *could be* a valid extension in this context with or without
|
* \return If "exten" *could be* a valid extension in this context with or without
|
||||||
* some more digits, return non-zero. Basically, when this returns 0, no matter
|
* some more digits, return non-zero. Basically, when this returns 0, no matter
|
||||||
* what you add to exten, it's not going to be a valid extension anymore
|
* what you add to exten, it's not going to be a valid extension anymore
|
||||||
@@ -438,6 +454,10 @@ int ast_canmatch_extension(struct ast_channel *c, const char *context,
|
|||||||
* \param priority priority of extension path
|
* \param priority priority of extension path
|
||||||
* \param callerid callerid of extension being searched for
|
* \param callerid callerid of extension being searched for
|
||||||
*
|
*
|
||||||
|
* \note It is possible for autoservice to be started and stopped on c during this
|
||||||
|
* function call, it is important that c is not locked prior to calling this. Otherwise
|
||||||
|
* a deadlock may occur
|
||||||
|
*
|
||||||
* \return If "exten" *could match* a valid extension in this context with
|
* \return If "exten" *could match* a valid extension in this context with
|
||||||
* some more digits, return non-zero. Does NOT return non-zero if this is
|
* some more digits, return non-zero. Does NOT return non-zero if this is
|
||||||
* an exact-match only. Basically, when this returns 0, no matter
|
* an exact-match only. Basically, when this returns 0, no matter
|
||||||
|
Reference in New Issue
Block a user