Bug 1897589 - Simplify worker shutdown checks. r=jstutte,dom-worker-reviewers
[gecko.git] / ipc / glue / CrashReporterClient.cpp
blob7e0eabe6cad9caf71c791ae279dfb8e6194e24d4
1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* vim: set ts=8 sts=2 et sw=2 tw=80: */
3 /* This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7 #include "CrashReporterClient.h"
8 #include "nsISupportsImpl.h"
10 namespace mozilla {
11 namespace ipc {
13 StaticMutex CrashReporterClient::sLock;
14 StaticRefPtr<CrashReporterClient> CrashReporterClient::sClientSingleton;
16 CrashReporterClient::CrashReporterClient() {
17 MOZ_COUNT_CTOR(CrashReporterClient);
20 CrashReporterClient::~CrashReporterClient() {
21 MOZ_COUNT_DTOR(CrashReporterClient);
24 /* static */
25 void CrashReporterClient::InitSingleton() {
27 StaticMutexAutoLock lock(sLock);
29 MOZ_ASSERT(!sClientSingleton);
30 sClientSingleton = new CrashReporterClient();
34 /* static */
35 void CrashReporterClient::DestroySingleton() {
36 StaticMutexAutoLock lock(sLock);
37 sClientSingleton = nullptr;
40 /* static */
41 RefPtr<CrashReporterClient> CrashReporterClient::GetSingleton() {
42 StaticMutexAutoLock lock(sLock);
43 return sClientSingleton;
46 } // namespace ipc
47 } // namespace mozilla