diff options
author | David Vossel <dvossel@digium.com> | 2011-06-21 20:15:41 +0000 |
---|---|---|
committer | David Vossel <dvossel@digium.com> | 2011-06-21 20:15:41 +0000 |
commit | 09a359449e79ac75385d816e51e50c29293dc78b (patch) | |
tree | 2104c883bc8bf48a63ca7b7ced2b91764ba59be4 /include | |
parent | 1573ad78d2bfc8cd31d1002b3b4d588ba964bc49 (diff) |
Merged revisions 324364 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8
........
r324364 | dvossel | 2011-06-21 15:11:52 -0500 (Tue, 21 Jun 2011) | 10 lines
Fixes locking inversion issue in ast_async_goto()
During this function we can not hold the "chan" lock while
doing the masquerade, the explicit goto on the tmp chan, or
the channel alloc. Instead we need to get the channel lock,
store off information about the channel that we need, and
then let the channel lock go for the remainder of the function.
Review: https://reviewboard.asterisk.org/r/1275/
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@324365 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'include')
-rw-r--r-- | include/asterisk/pbx.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/asterisk/pbx.h b/include/asterisk/pbx.h index 429e60537..1489ee2d6 100644 --- a/include/asterisk/pbx.h +++ b/include/asterisk/pbx.h @@ -877,6 +877,8 @@ int ast_context_unlockmacro(const char *macrocontext); /*! * \brief Set the channel to next execute the specified dialplan location. * \see ast_async_parseable_goto, ast_async_goto_if_exists + * + * \note Do _NOT_ hold any channel locks when calling this function. */ int ast_async_goto(struct ast_channel *chan, const char *context, const char *exten, int priority); |