diff options
author | janekptacijarabaci <janekptacijarabaci@seznam.cz> | 2018-07-06 15:53:52 +0200 |
---|---|---|
committer | janekptacijarabaci <janekptacijarabaci@seznam.cz> | 2018-07-06 15:53:52 +0200 |
commit | 941e54654eabed0a3568f7fefe424a45aa02eddb (patch) | |
tree | 49aa02b174c428962d99142d8061267bfcd79e69 /widget/gonk/WidgetTraceEvent.cpp | |
parent | ad9ee72dcd7981bc47b3844a224d69fadfdfd8ef (diff) | |
parent | 0daa12376295d5d796256a116eb2a348a3a9273f (diff) | |
download | UXP-941e54654eabed0a3568f7fefe424a45aa02eddb.tar UXP-941e54654eabed0a3568f7fefe424a45aa02eddb.tar.gz UXP-941e54654eabed0a3568f7fefe424a45aa02eddb.tar.lz UXP-941e54654eabed0a3568f7fefe424a45aa02eddb.tar.xz UXP-941e54654eabed0a3568f7fefe424a45aa02eddb.zip |
Merge branch 'master' of https://github.com/MoonchildProductions/UXP into _testBranch_test_1
Diffstat (limited to 'widget/gonk/WidgetTraceEvent.cpp')
-rw-r--r-- | widget/gonk/WidgetTraceEvent.cpp | 96 |
1 files changed, 0 insertions, 96 deletions
diff --git a/widget/gonk/WidgetTraceEvent.cpp b/widget/gonk/WidgetTraceEvent.cpp deleted file mode 100644 index 558d9313e..000000000 --- a/widget/gonk/WidgetTraceEvent.cpp +++ /dev/null @@ -1,96 +0,0 @@ -/* 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/. */ - -#include "mozilla/WidgetTraceEvent.h" -#include "mozilla/StaticPtr.h" -#include "nsThreadUtils.h" -#include <mozilla/CondVar.h> -#include <mozilla/Mutex.h> - -using mozilla::CondVar; -using mozilla::Mutex; -using mozilla::MutexAutoLock; - -namespace mozilla { - class TracerRunnable : public Runnable { - public: - TracerRunnable() { - mTracerLock = new Mutex("TracerRunnable"); - mTracerCondVar = new CondVar(*mTracerLock, "TracerRunnable"); - mMainThread = do_GetMainThread(); - } - - ~TracerRunnable() { - delete mTracerCondVar; - delete mTracerLock; - mTracerLock = nullptr; - mTracerCondVar = nullptr; - } - - virtual nsresult Run() { - MutexAutoLock lock(*mTracerLock); - mHasRun = true; - mTracerCondVar->Notify(); - return NS_OK; - } - - bool Fire() { - if (!mTracerLock || !mTracerCondVar) { - return false; - } - - MutexAutoLock lock(*mTracerLock); - mHasRun = false; - mMainThread->Dispatch(this, NS_DISPATCH_NORMAL); - while (!mHasRun) { - mTracerCondVar->Wait(); - } - return true; - } - - void Signal() { - MutexAutoLock lock(*mTracerLock); - mHasRun = true; - mTracerCondVar->Notify(); - } - - private: - Mutex* mTracerLock; - CondVar* mTracerCondVar; - bool mHasRun; - nsCOMPtr<nsIThread> mMainThread; - }; - - StaticRefPtr<TracerRunnable> sTracerRunnable; - - bool InitWidgetTracing() - { - if (!sTracerRunnable) { - sTracerRunnable = new TracerRunnable(); - } - return true; - } - - void CleanUpWidgetTracing() - { - sTracerRunnable = nullptr; - } - - bool FireAndWaitForTracerEvent() - { - if (sTracerRunnable) { - return sTracerRunnable->Fire(); - } - - return false; - } - - void SignalTracerThread() - { - if (sTracerRunnable) { - return sTracerRunnable->Signal(); - } - } -} // namespace mozilla - |