diff options
Diffstat (limited to 'src/iorapd/main.cc')
-rw-r--r-- | src/iorapd/main.cc | 82 |
1 files changed, 0 insertions, 82 deletions
diff --git a/src/iorapd/main.cc b/src/iorapd/main.cc deleted file mode 100644 index a3a63f2..0000000 --- a/src/iorapd/main.cc +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Copyright (C) 2018 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. - */ - -#include "binder/iiorap_impl.h" -#include "common/debug.h" -#include "common/loggers.h" -#include "common/property.h" -#include "db/models.h" -#include "manager/event_manager.h" - -#include <android-base/logging.h> -#include <android-base/properties.h> -#include <binder/IPCThreadState.h> -#include <server_configurable_flags/get_flags.h> -#include <utils/Trace.h> - -#include <stdio.h> - -static constexpr const char* kServiceName = iorap::binder::IIorapImpl::getServiceName(); - -int main(int /*argc*/, char** argv) { - bool tracing_allowed = iorap::common::IsTracingEnabled(/*default_value=*/"false"); - bool readahead_allowed = iorap::common::IsReadAheadEnabled(/*default_value*/"false"); - if (!tracing_allowed && !readahead_allowed) { - LOG(INFO) << "Turn off IORap because both tracing and prefetching are off."; - return 0; - } - - if (android::base::GetBoolProperty("iorapd.log.verbose", iorap::kIsDebugBuild)) { - // Show verbose logs if the property is enabled or if we are a debug build. - setenv("ANDROID_LOG_TAGS", "*:v", /*overwrite*/ 1); - } - - // Logs go to system logcat. - android::base::InitLogging(argv, iorap::common::StderrAndLogdLogger{android::base::SYSTEM}); - - LOG(INFO) << kServiceName << " (the prefetchening) firing up"; - { - android::ScopedTrace trace_db_init{ATRACE_TAG_ACTIVITY_MANAGER, "IorapNativeService::db_init"}; - iorap::db::SchemaModel db_schema = - iorap::db::SchemaModel::GetOrCreate( - android::base::GetProperty("iorapd.db.location", - "/data/misc/iorapd/sqlite.db")); - db_schema.MarkSingleton(); - } - - std::shared_ptr<iorap::manager::EventManager> event_manager; - { - android::ScopedTrace trace_start{ATRACE_TAG_ACTIVITY_MANAGER, "IorapNativeService::start"}; - - // TODO: use fruit for this DI. - event_manager = - iorap::manager::EventManager::Create(); - if (!iorap::binder::IIorapImpl::Start(event_manager)) { - LOG(ERROR) << "Unable to start IorapNativeService"; - exit(1); - } - } - - // This must be logged after all other initialization has finished. - LOG(INFO) << kServiceName << " (the prefetchening) readied up"; - - event_manager->Join(); // TODO: shutdown somewhere? - // Block until something else shuts down the binder service. - android::IPCThreadState::self()->joinThreadPool(); - LOG(INFO) << kServiceName << " shutting down"; - - return 0; -} |