[asterisk-commits] mmichelson: branch 1.6.1 r164421 - in /branches/1.6.1: ./ include/asterisk/

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Mon Dec 15 13:52:20 CST 2008


Author: mmichelson
Date: Mon Dec 15 13:52:19 2008
New Revision: 164421

URL: http://svn.digium.com/view/asterisk?view=rev&rev=164421
Log:
Merged revisions 164419 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/trunk

................
r164419 | mmichelson | 2008-12-15 13:51:24 -0600 (Mon, 15 Dec 2008) | 12 lines

Merged revisions 164416 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r164416 | mmichelson | 2008-12-15 13:45:07 -0600 (Mon, 15 Dec 2008) | 4 lines

Add notes to autoservice and pbx doxygen regarding a potential
deadlock scenario so that it is avoided in the future


........

................

Modified:
    branches/1.6.1/   (props changed)
    branches/1.6.1/include/asterisk/channel.h
    branches/1.6.1/include/asterisk/pbx.h

Propchange: branches/1.6.1/
------------------------------------------------------------------------------
Binary property 'trunk-merged' - no diff available.

Modified: branches/1.6.1/include/asterisk/channel.h
URL: http://svn.digium.com/view/asterisk/branches/1.6.1/include/asterisk/channel.h?view=diff&rev=164421&r1=164420&r2=164421
==============================================================================
--- branches/1.6.1/include/asterisk/channel.h (original)
+++ branches/1.6.1/include/asterisk/channel.h Mon Dec 15 13:52:19 2008
@@ -1417,6 +1417,11 @@
 /*! 
  * \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 -1 error, or the channel has been hungup 
  */

Modified: branches/1.6.1/include/asterisk/pbx.h
URL: http://svn.digium.com/view/asterisk/branches/1.6.1/include/asterisk/pbx.h?view=diff&rev=164421&r1=164420&r2=164421
==============================================================================
--- branches/1.6.1/include/asterisk/pbx.h (original)
+++ branches/1.6.1/include/asterisk/pbx.h Mon Dec 15 13:52:19 2008
@@ -369,6 +369,10 @@
  * \param priority priority of the action within the extension
  * \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 
  *         is found a non zero value will be returned. Otherwise, 0 is returned.
  */
@@ -384,6 +388,10 @@
  * \param label label of the action within the extension to match to priority
  * \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
+ *
  * \retval the priority which matches the given label in the extension
  * \retval -1 if not found.
  */
@@ -392,6 +400,10 @@
 
 /*!
  * \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
  * a pointer to an ast_context structure to specify the context instead of the
@@ -409,6 +421,10 @@
  * \param priority priority of extension path
  * \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
  * 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
@@ -424,6 +440,10 @@
  * \param exten extension to check
  * \param priority priority of extension path
  * \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
  * some more digits, return non-zero.  Does NOT return non-zero if this is




More information about the asterisk-commits mailing list