forked from mirrors/gecko-dev
Bug 1898180 - Use proper process ID for all the crash reporter functions r=KrisWright
Differential Revision: https://phabricator.services.mozilla.com/D211166
This commit is contained in:
parent
10d3567120
commit
1cf3b81e8d
3 changed files with 29 additions and 29 deletions
|
|
@ -118,7 +118,7 @@ nsresult AppendAppNotesToCrashReport(const nsACString& data) {
|
||||||
|
|
||||||
bool GetAnnotation(const nsACString& key, nsACString& data) { return false; }
|
bool GetAnnotation(const nsACString& key, nsACString& data) { return false; }
|
||||||
|
|
||||||
void GetAnnotation(uint32_t childPid, Annotation annotation,
|
void GetAnnotation(ProcessId childPid, Annotation annotation,
|
||||||
nsACString& outStr) {
|
nsACString& outStr) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -221,12 +221,12 @@ bool CreateNotificationPipeForChild(int* childCrashFd, int* childCrashRemapFd) {
|
||||||
|
|
||||||
bool SetRemoteExceptionHandler(const char* aCrashPipe) { return false; }
|
bool SetRemoteExceptionHandler(const char* aCrashPipe) { return false; }
|
||||||
|
|
||||||
bool TakeMinidumpForChild(uint32_t childPid, nsIFile** dump,
|
bool TakeMinidumpForChild(ProcessId childPid, nsIFile** dump,
|
||||||
AnnotationTable& aAnnotations) {
|
AnnotationTable& aAnnotations) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool FinalizeOrphanedMinidump(uint32_t aChildPid, GeckoProcessType aType,
|
bool FinalizeOrphanedMinidump(ProcessId aChildPid, GeckoProcessType aType,
|
||||||
nsString* aDumpId) {
|
nsString* aDumpId) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3560,7 +3560,7 @@ bool SetRemoteExceptionHandler(const char* aCrashPipe) {
|
||||||
return gExceptionHandler->IsOutOfProcess();
|
return gExceptionHandler->IsOutOfProcess();
|
||||||
}
|
}
|
||||||
|
|
||||||
void GetAnnotation(uint32_t childPid, Annotation annotation,
|
void GetAnnotation(ProcessId childPid, Annotation annotation,
|
||||||
nsACString& outStr) {
|
nsACString& outStr) {
|
||||||
if (!GetEnabled()) {
|
if (!GetEnabled()) {
|
||||||
return;
|
return;
|
||||||
|
|
@ -3576,7 +3576,7 @@ void GetAnnotation(uint32_t childPid, Annotation annotation,
|
||||||
outStr = (*pd->annotations)[annotation];
|
outStr = (*pd->annotations)[annotation];
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TakeMinidumpForChild(uint32_t childPid, nsIFile** dump,
|
bool TakeMinidumpForChild(ProcessId childPid, nsIFile** dump,
|
||||||
AnnotationTable& aAnnotations) {
|
AnnotationTable& aAnnotations) {
|
||||||
if (!GetEnabled()) return false;
|
if (!GetEnabled()) return false;
|
||||||
|
|
||||||
|
|
@ -3593,7 +3593,7 @@ bool TakeMinidumpForChild(uint32_t childPid, nsIFile** dump,
|
||||||
return !!*dump;
|
return !!*dump;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool FinalizeOrphanedMinidump(uint32_t aChildPid, GeckoProcessType aType,
|
bool FinalizeOrphanedMinidump(ProcessId aChildPid, GeckoProcessType aType,
|
||||||
nsString* aDumpId) {
|
nsString* aDumpId) {
|
||||||
AnnotationTable annotations;
|
AnnotationTable annotations;
|
||||||
nsCOMPtr<nsIFile> minidump;
|
nsCOMPtr<nsIFile> minidump;
|
||||||
|
|
|
||||||
|
|
@ -47,6 +47,26 @@ namespace CrashReporter {
|
||||||
using mozilla::Maybe;
|
using mozilla::Maybe;
|
||||||
using mozilla::Nothing;
|
using mozilla::Nothing;
|
||||||
|
|
||||||
|
#if defined(XP_WIN)
|
||||||
|
typedef HANDLE ProcessHandle;
|
||||||
|
typedef DWORD ProcessId;
|
||||||
|
typedef DWORD ThreadId;
|
||||||
|
typedef HANDLE FileHandle;
|
||||||
|
const FileHandle kInvalidFileHandle = INVALID_HANDLE_VALUE;
|
||||||
|
#elif defined(XP_MACOSX)
|
||||||
|
typedef task_t ProcessHandle;
|
||||||
|
typedef pid_t ProcessId;
|
||||||
|
typedef mach_port_t ThreadId;
|
||||||
|
typedef int FileHandle;
|
||||||
|
const FileHandle kInvalidFileHandle = -1;
|
||||||
|
#else
|
||||||
|
typedef int ProcessHandle;
|
||||||
|
typedef pid_t ProcessId;
|
||||||
|
typedef int ThreadId;
|
||||||
|
typedef int FileHandle;
|
||||||
|
const FileHandle kInvalidFileHandle = -1;
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns true if the crash reporter is using the dummy implementation.
|
* Returns true if the crash reporter is using the dummy implementation.
|
||||||
*/
|
*/
|
||||||
|
|
@ -151,7 +171,7 @@ nsresult UnregisterAppMemory(void* ptr);
|
||||||
// Include heap regions of the crash context.
|
// Include heap regions of the crash context.
|
||||||
void SetIncludeContextHeap(bool aValue);
|
void SetIncludeContextHeap(bool aValue);
|
||||||
|
|
||||||
void GetAnnotation(uint32_t childPid, Annotation annotation,
|
void GetAnnotation(ProcessId childPid, Annotation annotation,
|
||||||
nsACString& outStr);
|
nsACString& outStr);
|
||||||
|
|
||||||
// Functions for working with minidumps and .extras
|
// Functions for working with minidumps and .extras
|
||||||
|
|
@ -210,7 +230,7 @@ void OOPInit();
|
||||||
// path in |dump|. The caller owns the last reference to |dump| if it
|
// path in |dump|. The caller owns the last reference to |dump| if it
|
||||||
// is non-nullptr. The annotations for the crash will be stored in
|
// is non-nullptr. The annotations for the crash will be stored in
|
||||||
// |aAnnotations|.
|
// |aAnnotations|.
|
||||||
bool TakeMinidumpForChild(uint32_t childPid, nsIFile** dump,
|
bool TakeMinidumpForChild(ProcessId childPid, nsIFile** dump,
|
||||||
AnnotationTable& aAnnotations);
|
AnnotationTable& aAnnotations);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -224,30 +244,10 @@ bool TakeMinidumpForChild(uint32_t childPid, nsIFile** dump,
|
||||||
* @param aType The type of the crashed process
|
* @param aType The type of the crashed process
|
||||||
* @param aDumpId A string that will be filled with the dump ID
|
* @param aDumpId A string that will be filled with the dump ID
|
||||||
*/
|
*/
|
||||||
[[nodiscard]] bool FinalizeOrphanedMinidump(uint32_t aChildPid,
|
[[nodiscard]] bool FinalizeOrphanedMinidump(ProcessId aChildPid,
|
||||||
GeckoProcessType aType,
|
GeckoProcessType aType,
|
||||||
nsString* aDumpId = nullptr);
|
nsString* aDumpId = nullptr);
|
||||||
|
|
||||||
#if defined(XP_WIN)
|
|
||||||
typedef HANDLE ProcessHandle;
|
|
||||||
typedef DWORD ProcessId;
|
|
||||||
typedef DWORD ThreadId;
|
|
||||||
typedef HANDLE FileHandle;
|
|
||||||
const FileHandle kInvalidFileHandle = INVALID_HANDLE_VALUE;
|
|
||||||
#elif defined(XP_MACOSX)
|
|
||||||
typedef task_t ProcessHandle;
|
|
||||||
typedef pid_t ProcessId;
|
|
||||||
typedef mach_port_t ThreadId;
|
|
||||||
typedef int FileHandle;
|
|
||||||
const FileHandle kInvalidFileHandle = -1;
|
|
||||||
#else
|
|
||||||
typedef int ProcessHandle;
|
|
||||||
typedef pid_t ProcessId;
|
|
||||||
typedef int ThreadId;
|
|
||||||
typedef int FileHandle;
|
|
||||||
const FileHandle kInvalidFileHandle = -1;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Return the current thread's ID.
|
// Return the current thread's ID.
|
||||||
//
|
//
|
||||||
// XXX: this is a somewhat out-of-place interface to expose through
|
// XXX: this is a somewhat out-of-place interface to expose through
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue