6de21f1112
Init keep its own copy of the environment that it uses for execve when starting services. This is unnecessary however as libc already has functions that mutate the environment and the environment that init uses is clean for starting services. This change removes init's copy of the environment and uses the libc functions instead. This also makes small clean-up to the way the Service class stores service specific environment variables. Test: boot bullhead Change-Id: I7c98a0b7aac9fa8f195ae33bd6a7515bb56faf78
53 lines
1.6 KiB
C++
53 lines
1.6 KiB
C++
/*
|
|
* Copyright (C) 2007 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.
|
|
*/
|
|
|
|
#ifndef _INIT_INIT_H
|
|
#define _INIT_INIT_H
|
|
|
|
#include <string>
|
|
#include <vector>
|
|
|
|
#include "action.h"
|
|
#include "parser.h"
|
|
#include "service.h"
|
|
|
|
namespace android {
|
|
namespace init {
|
|
|
|
// Note: These globals are *only* valid in init, so they should not be used in ueventd,
|
|
// watchdogd, or any files that may be included in those, such as devices.cpp and util.cpp.
|
|
// TODO: Have an Init class and remove all globals.
|
|
extern std::string default_console;
|
|
extern std::vector<std::string> late_import_paths;
|
|
|
|
Parser CreateParser(ActionManager& action_manager, ServiceList& service_list);
|
|
|
|
void handle_control_message(const std::string& msg, const std::string& arg);
|
|
|
|
void property_changed(const std::string& name, const std::string& value);
|
|
|
|
void register_epoll_handler(int fd, void (*fn)());
|
|
|
|
bool start_waiting_for_property(const char *name, const char *value);
|
|
|
|
void DumpState();
|
|
|
|
void ResetWaitForProp();
|
|
|
|
} // namespace init
|
|
} // namespace android
|
|
|
|
#endif /* _INIT_INIT_H */
|