gecko-dev/toolkit/crashreporter/ThreadAnnotation.h
Dorel Luca 3748952e99 Backed out 2 changesets (bug 1457501) for build bustage. CLOSED TREE
Backed out changeset 911c930bc055 (bug 1457501)
Backed out changeset bba71ee5fb46 (bug 1457501)
2018-05-01 01:58:54 +03:00

41 lines
861 B
C++

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#ifndef ThreadAnnotation_h
#define ThreadAnnotation_h
#include <functional>
#include "nsExceptionHandler.h"
// Thread annotation interfaces for the crash reporter.
namespace CrashReporter {
void InitThreadAnnotation();
void ShutdownThreadAnnotation();
void GetFlatThreadAnnotation(const std::function<void(const char*)>& aCallback,
bool aIsHandlingException=false);
class InitThreadAnnotationRAII {
public:
InitThreadAnnotationRAII()
{
if (GetEnabled()) {
InitThreadAnnotation();
}
}
~InitThreadAnnotationRAII() {
if (GetEnabled()) {
ShutdownThreadAnnotation();
}
}
};
}
#endif