<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="https://reviewboard.asterisk.org/r/1984/">https://reviewboard.asterisk.org/r/1984/</a>
     </td>
    </tr>
   </table>
   <br />



 <p>Ship it!</p>



 <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Every time I thought I saw something wrong, it turned out I was wrong instead. Looks good!</pre>
 <br />







<p>- Mark</p>


<br />
<p>On June 13th, 2012, 4:19 p.m., rmudgett wrote:</p>






<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('https://reviewboard.asterisk.org/media/rb/images/review_request_box_top_bg.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for Asterisk Developers.</div>
<div>By rmudgett.</div>


<p style="color: grey;"><i>Updated June 13, 2012, 4:19 p.m.</i></p>




<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">* Make non-normal dialplan execution routines be able to run on a hung up channel.  This is preparation work for hangup handler routines.

* Fixes non-normal execution routines like connected line interception and predial leaving the dialplan execution stack unbalanced.  Errors like missing Return statements, popping too many stack frames using StackPop, or an application returning non-zero could leave the dialplan stack unbalanced.

* Make Hangup set a softhangup flag.  The Hangup application used to just return -1 to cause normal dialplan execution to hangup a channel.  For the non-normal execution routines like predial and connected-line interception routines, the hangup request would be ignored.</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">* Used the Fred application to test running a non-normal execution routine while a channel is hung up.  (The Fred routine will be removed since it is only for testing.)
* Checked StackPop being used too many times on non-normal routines.
* Checked forgetting Return on a non-normal routine.
* Checked using Hangup in a non-normal routine causes the channel to be hung up.</pre>
  </td>
 </tr>
</table>




<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>/trunk/apps/app_dial.c <span style="color: grey">(368898)</span></li>

 <li>/trunk/apps/app_followme.c <span style="color: grey">(368898)</span></li>

 <li>/trunk/apps/app_queue.c <span style="color: grey">(368898)</span></li>

 <li>/trunk/apps/app_stack.c <span style="color: grey">(368898)</span></li>

 <li>/trunk/include/asterisk/app.h <span style="color: grey">(368898)</span></li>

 <li>/trunk/main/app.c <span style="color: grey">(368898)</span></li>

 <li>/trunk/main/ccss.c <span style="color: grey">(368898)</span></li>

 <li>/trunk/main/channel.c <span style="color: grey">(368898)</span></li>

 <li>/trunk/main/pbx.c <span style="color: grey">(368898)</span></li>

</ul>

<p><a href="https://reviewboard.asterisk.org/r/1984/diff/" style="margin-left: 3em;">View Diff</a></p>




  </td>
 </tr>
</table>








  </div>
 </body>
</html>