summaryrefslogtreecommitdiffstats
path: root/lldb/source/Utility/Log.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix remaining threading issues in Log.hPavel Labath2017-03-091-75/+47
| | | | | | | | | | | | | | | | | | | | | | | | Summary: This fixes two threading issues in the logging code. The access to the mask and options flags had data races when we were trying to enable/disable logging while another thread was writing to the log. Since we can log from almost any context, and we want it to be fast, so I avoided locking primitives and used atomic variables instead. I have also removed the (unused) setters for the mask and flags to make sure that the only way to set them is through the enable/disable channel functions. I also add tests, which when run under tsan, verify that the use cases like "doing an LLDB_LOGV while another thread disables logging" are data-race-free. Reviewers: zturner, clayborg Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D30702 llvm-svn: 297368
* Update log_options unit testPavel Labath2017-03-061-1/+1
| | | | | | | | | | it was accessing the details of the Log class directly. Let it go through the channel class instead. This also discovered a bug when we were setting but not clearing the log options when enabling a channel. llvm-svn: 297053
* Move Log from Core -> Utility.Zachary Turner2017-03-031-0/+346
All references to Host and Core have been removed, so this class can now safely be lowered into Utility. Differential Revision: https://reviews.llvm.org/D30559 llvm-svn: 296909
OpenPOWER on IntegriCloud