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



<table bgcolor="#e0e0e0" width="100%" cellpadding="8" style="border: 1px gray solid;">
 <tr>
  <td>
   <h1 style="margin-right: 0.2em; padding: 0; font-size: 10pt;">This change has been marked as submitted.</h1>
  </td>
 </tr>
</table>
<br />


<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('https://reviewboard.asterisk.org/static/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 and David Lee.</div>
<div>By opticron.</div>


<p style="color: grey;"><i>Updated June 7, 2013, 7:57 a.m.</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;">Committed in revision 390830</pre>
  </td>
 </tr>
</table>







<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
Asterisk
</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 reworks the stasis cache clear mechanism such that an actual snapshot message is published inside of the cache clear message instead of the stasis_cache_clear structure (the ID and message type) which has been removed.  This allows multiple caches to consume the same clear message and avoids the problems of needing to clear unknown secondary caches which may be keyed on different parts of the snapshot.

This also resolves an issue where a channel snapshot could be cleared from the channel snapshot cache multiple times if multiple threads called ast_hangup on the channel at the same time.

This also resolves an issue where an endpoint snapshot was published after it was cleared from the cache, thus repopulating it in the cache.</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;">Ran test_stasis, test_stasis_channels, and test_stasis_endpoints with no error messages.</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/include/asterisk/stasis.h <span style="color: grey">(390501)</span></li>

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

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

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

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

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

 <li>trunk/tests/test_stasis.c <span style="color: grey">(390501)</span></li>

</ul>

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







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




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