DescriptionIssue #1234, #2058 - Rewrite log facility, improving thread implementation
Replaced old class 'LogQueue' definition with an entirely new one based on the
class 'ActiveQueue'. Added class 'LogQueueReference' to substitute for static
initialization.
Eliminate explicit use of process and thread ID outside the class 'LogEntry'.
All log entries are consistently initialized with this information.
Add location information to 'LogEntry'. This includes both the old pattern of
numeric identifiers and a new one of source code identifiers.
Added ActiveQueue.h and Placeholder.h, implementing a synchronized queue and
an active queue, that is, one with an autonomous consumer. Added tests for
these classes, which are segregated into their own project (for the time
being) to enable development of the tests with a more recent toolset.
Removed PluginClientBase.{h,cpp}, whose only remaining code was for the old
log queue and its elements. Subsequently removed code only used therein.
Removed CPluginSettings' member functions 'HasInstance()' and 'AddError()'.
Removed 'CPluginTab' member variables 'm_thread', 'm_isActivated', and
'm_continueThreadRunning', member functions 'ThreadProc()', 'OnActivate()',
'OnUpdate()', and class function 'TabThreadProc()'.
Removed unneeded SELFTEST macros.
Patch Set 1 : #
Total comments: 34
Patch Set 2 : rebase only #Patch Set 3 : rebase to current tip #
Total comments: 12
Patch Set 4 : address comments #Patch Set 5 : rebase only #
MessagesTotal messages: 11
|