gecko-dev/toolkit/crashreporter/ThreadAnnotation.h
Cervantes Yu cc5836fbae Bug 1024669 - Part 1: Annotate crash reports with thread names. r=gsvelto
NS_SetCurrentThreadName() is added as an alternative to PR_SetCurrentThreadName()
inside libxul. The thread names are collected in the form of crash annotation to
be processed on socorro.

MozReview-Commit-ID: 4RpAWzTuvPs
2017-02-07 18:57:23 +08:00

40 lines
799 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);
class InitThreadAnnotationRAII {
public:
InitThreadAnnotationRAII()
{
if (GetEnabled()) {
InitThreadAnnotation();
}
}
~InitThreadAnnotationRAII() {
if (GetEnabled()) {
ShutdownThreadAnnotation();
}
}
};
}
#endif