<p> Attention is currently required from: N A, Joshua Colp. </p>
<p>Patch set 10:<span style="border-radius: 3px; display: inline-block; margin: 0 2px; padding: 4px;background-color: #ffd4d4; color: #000000;">Code-Review -1</span></p><p><a href="https://gerrit.asterisk.org/c/asterisk/+/16222">View Change</a></p><p>1 comment:</p><ul style="list-style: none; padding: 0;"><li style="margin: 0; padding: 0;"><p><a href="null">File main/logger.c:</a></p><ul style="list-style: none; padding: 0;"><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.asterisk.org/c/asterisk/+/16222/comment/c91a4cb5_7f039298">Patch Set #10, Line 818:</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;">registercustomlevels:;<br>             while ((logfile = strsep(&customlogs, ","))) {<br>                  unsigned int level;<br>                   /* if we are reloading, we don't want to re-register levels that exist */<br>                 for (level = 16; level < ARRAY_LEN(levels); level++) {<br>                             if (levels[level] && !strcasecmp(levels[level], logfile)) {<br>                                   /* need to continue the outer loop, not the inner loop */<br>                                     goto registercustomlevels; /* already exists, skip */<br>                         }<br>                     }<br>                     /* Lock already held, so directly register the level */<br>                       logger_register_level(logfile);<br>               }<br></pre></blockquote></p><p style="white-space: pre-wrap; word-wrap: break-word;">Custom levels that were removed from the parameter don't get unregistered.</p><p style="white-space: pre-wrap; word-wrap: break-word;">I think you're going to have to save the value of custom_levels in a global variable, then when you read the new value from the config file you can unregister any in the saved version that aren't in the new version and register any in the new version that aren't in the saved version.  Then you replace the saved version with the new version.</p><p style="white-space: pre-wrap; word-wrap: break-word;">To make things easier, you should create internal versions of ast_logger_unregister_level and ast_logger_get_dynamic_level that don't do locking, (just like ast_logger_register_level and logger_register_level) so you can save a loop or two.  You could also use a regex to check if a new level exists in the saved version  or a saved level exists in the new version to avoid another nested loop.</p></li></ul></li></ul><p>To view, visit <a href="https://gerrit.asterisk.org/c/asterisk/+/16222">change 16222</a>. To unsubscribe, or for help writing mail filters, 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/c/asterisk/+/16222"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: asterisk </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: If082703cf81a436ae5a565c75225fa8c0554b702 </div>
<div style="display:none"> Gerrit-Change-Number: 16222 </div>
<div style="display:none"> Gerrit-PatchSet: 10 </div>
<div style="display:none"> Gerrit-Owner: N A <mail@interlinked.x10host.com> </div>
<div style="display:none"> Gerrit-Reviewer: Friendly Automation </div>
<div style="display:none"> Gerrit-Reviewer: George Joseph <gjoseph@digium.com> </div>
<div style="display:none"> Gerrit-Reviewer: Joshua Colp <jcolp@sangoma.com> </div>
<div style="display:none"> Gerrit-Reviewer: Kevin Harwell <kharwell@digium.com> </div>
<div style="display:none"> Gerrit-Attention: N A <mail@interlinked.x10host.com> </div>
<div style="display:none"> Gerrit-Attention: Joshua Colp <jcolp@sangoma.com> </div>
<div style="display:none"> Gerrit-Comment-Date: Wed, 25 Aug 2021 14:09:20 +0000 </div>
<div style="display:none"> Gerrit-HasComments: Yes </div>
<div style="display:none"> Gerrit-Has-Labels: Yes </div>
<div style="display:none"> Gerrit-MessageType: comment </div>