summaryrefslogtreecommitdiff
path: root/cmds/statsd/src/utils/MultiConditionTrigger.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cmds/statsd/src/utils/MultiConditionTrigger.cpp')
-rw-r--r--cmds/statsd/src/utils/MultiConditionTrigger.cpp57
1 files changed, 0 insertions, 57 deletions
diff --git a/cmds/statsd/src/utils/MultiConditionTrigger.cpp b/cmds/statsd/src/utils/MultiConditionTrigger.cpp
deleted file mode 100644
index 43a69337f368..000000000000
--- a/cmds/statsd/src/utils/MultiConditionTrigger.cpp
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (C) 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#define DEBUG false // STOPSHIP if true
-
-#include "MultiConditionTrigger.h"
-
-#include <thread>
-
-using namespace std;
-
-namespace android {
-namespace os {
-namespace statsd {
-
-MultiConditionTrigger::MultiConditionTrigger(const set<string>& conditionNames,
- function<void()> trigger)
- : mRemainingConditionNames(conditionNames),
- mTrigger(trigger),
- mCompleted(mRemainingConditionNames.empty()) {
- if (mCompleted) {
- thread executorThread([this] { mTrigger(); });
- executorThread.detach();
- }
-}
-
-void MultiConditionTrigger::markComplete(const string& conditionName) {
- bool doTrigger = false;
- {
- lock_guard<mutex> lg(mMutex);
- if (mCompleted) {
- return;
- }
- mRemainingConditionNames.erase(conditionName);
- mCompleted = mRemainingConditionNames.empty();
- doTrigger = mCompleted;
- }
- if (doTrigger) {
- std::thread executorThread([this] { mTrigger(); });
- executorThread.detach();
- }
-}
-} // namespace statsd
-} // namespace os
-} // namespace android