Bug 1436768 - Add debug code to LazyLogModule. r=froydnj

--HG--
extra : rebase_source : bd70f788eb986b73eb70460337d5d7c3423c4e8a
extra : source : 82ef13b02416c8519178a7e8e08791b7b8dfcbdb
This commit is contained in:
Eric Rahm 2018-05-09 11:16:27 -07:00
Родитель bd7f417d6a
Коммит 572911732c
3 изменённых файлов: 7 добавлений и 2 удалений

Просмотреть файл

@ -81,8 +81,9 @@ namespace mozilla {
*/
class CorruptionCanary {
public:
CorruptionCanary() {
mValue = kCanarySet;
constexpr CorruptionCanary()
: mValue(kCanarySet)
{
}
~CorruptionCanary() {

Просмотреть файл

@ -56,6 +56,8 @@ LazyLogModule::operator LogModule*()
mLog = tmp;
}
mCanary.Check();
return tmp;
}

Просмотреть файл

@ -14,6 +14,7 @@
#include "mozilla/Atomics.h"
#include "mozilla/Attributes.h"
#include "mozilla/Likely.h"
#include "mozilla/Poison.h"
// We normally have logging enabled everywhere, but measurements showed that
// having logging enabled on Android is quite expensive (hundreds of kilobytes
@ -174,6 +175,7 @@ public:
private:
const char* const mLogName;
CorruptionCanary mCanary;
Atomic<LogModule*, ReleaseAcquire> mLog;
};