<p>Richard Mudgett <strong>posted comments</strong> on this change.</p><p><a href="https://gerrit.asterisk.org/6366">View Change</a></p><p>Patch set 2:<span style="border-radius: 3px; display: inline-block; margin: 0 2px; padding: 4px;background-color: #ffd4d4;">Code-Review -1</span></p><p style="white-space: pre-wrap; word-wrap: break-word;">One minor finding with some code optimizations.</p><p>(5 comments)</p><ul style="list-style: none; padding-left: 20px;"><li><p><a href="https://gerrit.asterisk.org/#/c/6366/2/main/bridge_after.c">File main/bridge_after.c:</a></p><ul style="list-style: none; padding-left: 20px;"><li><p style="margin-bottom: 4px;"><a href="https://gerrit.asterisk.org/#/c/6366/2/main/bridge_after.c@298">Patch Set #2, Line 298:</a> <code style="font-family:monospace,monospace">const char *reason_strings[] = {</code></p><p style="white-space: pre-wrap; word-wrap: break-word;">This should be made static.</p><p style="white-space: pre-wrap; word-wrap: break-word;">Better would be to make ast_bridge_after_cb_reason_string() use a switch statement returning the strings.</p></li><li><p style="margin-bottom: 4px;"><a href="https://gerrit.asterisk.org/#/c/6366/2/main/bridge_after.c@309">Patch Set #2, Line 309:</a> </p><p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;"><pre style="font-family: monospace,monospace; white-space: pre-wrap;">     if (reason < AST_BRIDGE_AFTER_CB_REASON_DESTROY<br>            || AST_BRIDGE_AFTER_CB_REASON_REMOVED < reason<br>             || !reason_strings[reason]) {<br></pre></blockquote></p><p style="white-space: pre-wrap; word-wrap: break-word;">This expression needs updating.</p><p style="white-space: pre-wrap; word-wrap: break-word;">Probably be better to change it to a switch with a case for each enum returning the string.</p></li></ul></li><li><p><a href="https://gerrit.asterisk.org/#/c/6366/2/res/stasis/control.c">File res/stasis/control.c:</a></p><ul style="list-style: none; padding-left: 20px;"><li><p style="margin-bottom: 4px;"><a href="https://gerrit.asterisk.org/#/c/6366/2/res/stasis/control.c@964">Patch Set #2, Line 964:</a> </p><p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;"><pre style="font-family: monospace,monospace; white-space: pre-wrap;">      /* No longer in the bridge */<br> control->bridge = NULL;<br></pre></blockquote></p><p style="white-space: pre-wrap; word-wrap: break-word;">This can be pulled into the if (control->bridge) clause.  Also this clause could be in the same order as the code before this patch.</p><p style="white-space: pre-wrap; word-wrap: break-word;">Before:<br>code block</p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">After:<br>if (control->bridge) {<br>  code block<br>}</pre></li><li><p style="margin-bottom: 4px;"><a href="https://gerrit.asterisk.org/#/c/6366/2/res/stasis/control.c@1039">Patch Set #2, Line 1039:</a> <code style="font-family:monospace,monospace">               SCOPED_AO2LOCK(lock, control);</code></p><p style="white-space: pre-wrap; word-wrap: break-word;">This scoped lock usage is compromised and can easily be eliminated.  As it is you now have a path after ast_bridge_impart() where control is locked just so the scoped lock can unlock it.</p></li><li><p style="margin-bottom: 4px;"><a href="https://gerrit.asterisk.org/#/c/6366/2/res/stasis/control.c@1058">Patch Set #2, Line 1058:</a> <code style="font-family:monospace,monospace">              control->bridge = bridge;</code></p><p style="white-space: pre-wrap; word-wrap: break-word;">We could keep the assert checking that control->bridge was NULL before we set the bridge here.</p></li></ul></li></ul><p>To view, visit <a href="https://gerrit.asterisk.org/6366">change 6366</a>. To unsubscribe, visit <a href="https://gerrit.asterisk.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.asterisk.org/6366"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: asterisk </div>
<div style="display:none"> Gerrit-Branch: 13 </div>
<div style="display:none"> Gerrit-MessageType: comment </div>
<div style="display:none"> Gerrit-Change-Id: Ifd239aa93955b3eb475521f61e284fcb0da2c3b3 </div>
<div style="display:none"> Gerrit-Change-Number: 6366 </div>
<div style="display:none"> Gerrit-PatchSet: 2 </div>
<div style="display:none"> Gerrit-Owner: George Joseph <gjoseph@digium.com> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins2 </div>
<div style="display:none"> Gerrit-Reviewer: Richard Mudgett <rmudgett@digium.com> </div>
<div style="display:none"> Gerrit-Comment-Date: Tue, 05 Sep 2017 21:04:03 +0000 </div>
<div style="display:none"> Gerrit-HasComments: Yes </div>