<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>
<p style="color: grey;"><i>Updated 2010-11-19 19:05:30.729961</i></p>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Changes</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;">Update testing done section - ran the scheduler unit tests.
Also update patch to fix build issues for the unit tests, and a fix for a bug caught by the unit tests.</pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description (updated)</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;">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 (updated)</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.
I have also run all of the scheduler unit tests provided by the test_sched module and they still pass.</pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> (updated)</h1>
<ul style="margin-left: 3em; padding-left: 0;">
<li>/trunk/channels/chan_gtalk.c <span style="color: grey">(295711)</span></li>
<li>/trunk/channels/chan_h323.c <span style="color: grey">(295711)</span></li>
<li>/trunk/channels/chan_iax2.c <span style="color: grey">(295711)</span></li>
<li>/trunk/channels/chan_jingle.c <span style="color: grey">(295711)</span></li>
<li>/trunk/channels/chan_mgcp.c <span style="color: grey">(295711)</span></li>
<li>/trunk/channels/chan_sip.c <span style="color: grey">(295711)</span></li>
<li>/trunk/channels/chan_skinny.c <span style="color: grey">(295711)</span></li>
<li>/trunk/channels/chan_unistim.c <span style="color: grey">(295711)</span></li>
<li>/trunk/channels/sip/dialplan_functions.c <span style="color: grey">(295711)</span></li>
<li>/trunk/channels/sip/include/globals.h <span style="color: grey">(295711)</span></li>
<li>/trunk/include/asterisk.h <span style="color: grey">(295711)</span></li>
<li>/trunk/include/asterisk/channel.h <span style="color: grey">(295711)</span></li>
<li>/trunk/include/asterisk/rtp_engine.h <span style="color: grey">(295711)</span></li>
<li>/trunk/include/asterisk/sched.h <span style="color: grey">(295711)</span></li>
<li>/trunk/include/asterisk/udptl.h <span style="color: grey">(295711)</span></li>
<li>/trunk/main/ccss.c <span style="color: grey">(295711)</span></li>
<li>/trunk/main/cdr.c <span style="color: grey">(295711)</span></li>
<li>/trunk/main/channel.c <span style="color: grey">(295711)</span></li>
<li>/trunk/main/dnsmgr.c <span style="color: grey">(295711)</span></li>
<li>/trunk/main/rtp_engine.c <span style="color: grey">(295711)</span></li>
<li>/trunk/main/sched.c <span style="color: grey">(295711)</span></li>
<li>/trunk/main/udptl.c <span style="color: grey">(295711)</span></li>
<li>/trunk/pbx/pbx_dundi.c <span style="color: grey">(295711)</span></li>
<li>/trunk/res/res_calendar.c <span style="color: grey">(295711)</span></li>
<li>/trunk/res/res_rtp_asterisk.c <span style="color: grey">(295711)</span></li>
<li>/trunk/res/res_rtp_multicast.c <span style="color: grey">(295711)</span></li>
<li>/trunk/res/res_stun_monitor.c <span style="color: grey">(295711)</span></li>
<li>/trunk/tests/test_sched.c <span style="color: grey">(295711)</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>