* Get rid of silly `if (not ...` exp.
* Apply code fixes from sonar.
* Build fix.
* Apply more fixes from sonar.
* Apply more fixes from sonar.
* Apply more fixes from sonar.
On systems with a strict compiler, the buildprocess will complain:
[ 70%] Building CXX object src/CMakeFiles/conky.dir/update-cb.cc.o
conky/src/update-cb.cc: In member function ‘void conky::priv::callback_base::stop()’:
conky/src/update-cb.cc:49:34: warning: ignoring return value of ‘ssize_t write(int, const void*, size_t)’, declared with attribute warn_unused_result [-Wunused-result
This patch fixes this warning (and by doing this also checks if the write worked)
The problem was that the callback thread is destroyed only in the destructor of the callback_base
class (which is called after the destructor of the derived classes). This means that the thread
is running even when it's object is partly destroyed, which can cause segfaults, race conditions
and other nasty problems.
I've fixed it so that the thread is destroyed before the underlying object's destructor is
called.
it should replace both timed_thread and run_update_callback() systems
it features:
- automatic removal of callbacks which are not used
- ability to run callback less frequent than the update_interval
- avoidance of running the same callback multiple times