blob: 2707049fa67700547bd6a14bc3b53091f674823e [file] [log] [blame]
Mårten Kongstad02751232018-04-27 13:16:32 +02001/*
2 * Copyright (C) 2018 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17#define ATRACE_TAG ATRACE_TAG_RESOURCES
18
19#include <binder/BinderService.h>
20#include <binder/IPCThreadState.h>
21#include <binder/ProcessState.h>
22
23#include <cstdlib> // EXIT_{FAILURE,SUCCESS}
Mårten Kongstad02751232018-04-27 13:16:32 +020024#include <iostream>
25#include <sstream>
26
Mårten Kongstad02751232018-04-27 13:16:32 +020027#include "Idmap2Service.h"
Ryan Mitchell52e1f7a2019-04-12 12:31:42 -070028#include "android-base/macros.h"
Mårten Kongstad02751232018-04-27 13:16:32 +020029
30using android::BinderService;
31using android::IPCThreadState;
32using android::ProcessState;
33using android::sp;
34using android::status_t;
35using android::os::Idmap2Service;
36
37int main(int argc ATTRIBUTE_UNUSED, char** argv ATTRIBUTE_UNUSED) {
Mårten Kongstadb8779022018-11-29 09:53:17 +010038 IPCThreadState::disableBackgroundScheduling(true);
Mårten Kongstad02751232018-04-27 13:16:32 +020039 status_t ret = BinderService<Idmap2Service>::publish();
40 if (ret != android::OK) {
41 return EXIT_FAILURE;
42 }
43 sp<ProcessState> ps(ProcessState::self());
44 ps->startThreadPool();
45 ps->giveThreadPoolName();
46 IPCThreadState::self()->joinThreadPool();
47 return EXIT_SUCCESS;
48}