<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/1007/">https://reviewboard.asterisk.org/r/1007/</a>
     </td>
    </tr>
   </table>
   <br />


<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('https://reviewboard.asterisk.orgrb/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 Russell Bryant.</div>





<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;">This is a patch I found sitting around that I had done while traveling at some point.  It contains some cleanups to the scheduler API for trunk.

Previously, I had added the ast_sched_thread stuff that was a generic scheduler thread implementation.  However, if you used it, it required using different functions for modifying scheduler contents.  This patch reworks how this is done and just allows you to optionally start a thread on the original scheduler context structure that has always been there.  This makes it trivial to switch to the generic scheduler thread implementation without having to touch any of the other code that adds or removes scheduler entries.

In passing, I made some naming tweaks to add ast_ prefixes where they were not there before.</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;">The biggest user of the generic scheduler thread is chan_iax2.  I ran some IAX2 calls using tests in the testsuite that use IAX2.  These tests were great in that they quickly showed me that my changes were broken at first.  However, I have fixed the problems I could find and have the tests working again.</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/channels/chan_gtalk.c <span style="color: grey">(294898)</span></li>

 <li>/trunk/channels/chan_h323.c <span style="color: grey">(294898)</span></li>

 <li>/trunk/channels/chan_iax2.c <span style="color: grey">(294898)</span></li>

 <li>/trunk/channels/chan_jingle.c <span style="color: grey">(294898)</span></li>

 <li>/trunk/channels/chan_mgcp.c <span style="color: grey">(294898)</span></li>

 <li>/trunk/channels/chan_sip.c <span style="color: grey">(294898)</span></li>

 <li>/trunk/channels/chan_skinny.c <span style="color: grey">(294898)</span></li>

 <li>/trunk/channels/chan_unistim.c <span style="color: grey">(294898)</span></li>

 <li>/trunk/channels/sip/include/globals.h <span style="color: grey">(294898)</span></li>

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

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

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

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

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

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

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

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

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

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

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

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

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

 <li>/trunk/res/res_calendar.c <span style="color: grey">(294898)</span></li>

 <li>/trunk/res/res_rtp_asterisk.c <span style="color: grey">(294898)</span></li>

 <li>/trunk/res/res_rtp_multicast.c <span style="color: grey">(294898)</span></li>

 <li>/trunk/res/res_stun_monitor.c <span style="color: grey">(294898)</span></li>

</ul>

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




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




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