Robotics Systems Commons: Issueshttps://code.cor-lab.de/https://code.cor-lab.de/favicon.ico?14019720732016-04-27T10:10:44ZOpen Source Collaboration Platform
Redmine Enhancement #2538 (New): Include SIGHUP in signal handling codehttps://code.cor-lab.de/issues/25382016-04-27T10:10:44ZJ. Wienkejwienke@techfak.uni-bielefeld.de
<p>In case a terminal is closed, running processes receive SIGHUP. Therefore we should also handle this signal type.</p> Enhancement #2184 (Feedback): improve logging system to nicely play with log4cxxhttps://code.cor-lab.de/issues/21842015-02-23T02:44:20ZR. Haschkerhaschke@techfak.uni-bielefeld.de
<p>Current implementation of logging doesn't play nice with log4cxx, <br />i.e. a LoggingSystem that already provides hierarchical loggers.<br />In this case explicitly setting the log levels down the hierarchy,<br />overrules any settings made in log4cxx's own config files.</p>
Hence, I modified the code along the following guide lines:
<ul>
<li>loggers are created lazily on demand<br /> The <code>LoggerTreeNode</code> maintains the hierarchy (and explicitly set log levels).<br /> However, Loggers themselves will be only created by <code>LoggerFactor::getLogger()</code>.</li>
<li><code>LoggingSystem::createLogger</code> expects second argument now with desired log level.<br /> LoggingSystems like log4cxx want to ignore this argument, but rely on their hierarchy.</li>
<li>bool <code>LoggingSystem::needsRecursiveLevelSetting()</code> is used to choose
<ul>
<li>recursive TreeLevelUpdater for non-hierarchic LoggingSystems</li>
<li>SimpleLevelUpdater for hierarchic systems</li>
</ul>
</li>
<li>Do not use shared_ptrs for <code>LoggerTreeNode::assignedLevel</code>.<br /> This was only used to know whether a level was explicitly set. Use a bool instead.</li>
<li>Simplified <code>LoggerTreeNode::Visitor</code>
<ul>
<li><code>parentLevel</code> argument was never used --> removed, can be retrieved by <code>node->getLevel()</code></li>
<li>visiting includes called node -> reduces code duplication</li>
</ul></li>
</ul>
<p>Consequences:<br />As long as no log levels are set explicitly by rsc means, the<br />LoggingSystem can continue to use its own configuration mechanism.<br />Calling <code>setLevel()</code> overwrites these settings, but only for the current node.</p> Enhancement #2063 (In Progress): simplify clumsy usage of DebugToolshttps://code.cor-lab.de/issues/20632014-10-18T08:49:18ZR. Haschkerhaschke@techfak.uni-bielefeld.de
<p>Using backtrace functions requires a DebugTools object. Why did you choose for this rather clumsy design?</p>
<p>Instead of:</p>
<pre><code>rsc::debug::DebugToolsPtr dbg = rsc::debug::DebugTools::newInstance();<br />cout << dbg->formatBacktrace(dbg->createBacktrace());</code></pre>
<p>I suggest the following function-based usage:</p>
<pre><code>cout << rsc::debug::formatBacktrace(rsc::debug::createBacktrace());</code></pre>
<p>Having an overloaded convenience function, this can further simplify to:</p>
<pre><code>cout << rsc::debug::formatBacktrace();</code></pre>
<p>As there are no data elements, there is no need for an DebugTools object, isn't it?</p> Enhancement #1836 (New): Move printing of property values into separate functionhttps://code.cor-lab.de/issues/18362014-04-10T16:13:03ZJ. Moringenjmoringe@cor-lab.uni-bielefeld.de
<p>Could be used e.g. here:<br /><a href="/projects/cca/repository/entry/trunk/cca/src/cca/component/Info.cpp#L205" class="source">cca:source:trunk/cca/src/cca/component/Info.cpp#L205</a></p> Enhancement #654 (New): Improve cancellation of Tasks in the delay timehttps://code.cor-lab.de/issues/6542011-10-19T16:32:22ZJ. Wienkejwienke@techfak.uni-bielefeld.de
<p>With the current cancellation system of tasks, waiting threads in waitDone can only be reliably notified about the cancellation when the run method is executed by the threaded executor. This costs time and also prevents further optimizations by the executor. Improve this so that:</p>
<ul>
<li>a cancel request before run is called immediately notifies waiting threads and prevents the task from running</li>
</ul>