init: Introduce symbolic names for certain constants
Make the code easier to read by introducing symbolic names for the constants used by Service::Start() for communication between the parent and child processes. Bug: 213617178 Change-Id: I3e735e149682fa9df2ed57f75eb5a67d7c68bd92 Signed-off-by: Bart Van Assche <bvanassche@google.com>
This commit is contained in:
parent
d394f74365
commit
c8f34254b8
2 changed files with 9 additions and 3 deletions
|
|
@ -534,7 +534,7 @@ void Service::RunService(const std::vector<Descriptor>& descriptors,
|
|||
LOG(ERROR) << name_ << ": failed to read from notification channel: " << byte.error();
|
||||
}
|
||||
cgroups_activated.Close();
|
||||
if (!*byte) {
|
||||
if (*byte != kCgroupsActivated) {
|
||||
LOG(FATAL) << "Service '" << name_ << "' failed to start due to a fatal error";
|
||||
_exit(EXIT_FAILURE);
|
||||
}
|
||||
|
|
@ -693,7 +693,7 @@ Result<void> Service::Start() {
|
|||
limit_percent_ != -1 || !limit_property_.empty();
|
||||
errno = -createProcessGroup(proc_attr_.uid, pid_, use_memcg);
|
||||
if (errno != 0) {
|
||||
Result<void> result = cgroups_activated.Write(0);
|
||||
Result<void> result = cgroups_activated.Write(kActivatingCgroupsFailed);
|
||||
if (!result.ok()) {
|
||||
return Error() << "Sending notification failed: " << result.error();
|
||||
}
|
||||
|
|
@ -717,7 +717,7 @@ Result<void> Service::Start() {
|
|||
LmkdRegister(name_, proc_attr_.uid, pid_, oom_score_adjust_);
|
||||
}
|
||||
|
||||
if (Result<void> result = cgroups_activated.Write(1); !result.ok()) {
|
||||
if (Result<void> result = cgroups_activated.Write(kCgroupsActivated); !result.ok()) {
|
||||
return Error() << "Sending cgroups activated notification failed: " << result.error();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -32,6 +32,12 @@
|
|||
namespace android {
|
||||
namespace init {
|
||||
|
||||
// Constants used by Service::Start() for communication between parent and child.
|
||||
enum ServiceCode : uint8_t {
|
||||
kActivatingCgroupsFailed,
|
||||
kCgroupsActivated,
|
||||
};
|
||||
|
||||
class Descriptor {
|
||||
public:
|
||||
Descriptor(const std::string& name, android::base::unique_fd fd)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue