26f5e7da3a
It's been a long standing issue that init cannot respond to property set messages when it is running a builtin command. This is particularly problematic when the commands involve IPC to vold or other daemons, as it prevents them from being able to set properties. This change has init run property service in a thread, which eliminates the above issue. This change may also serve as a starting block to running property service in an entirely different process to better isolate init from handling property requests. Test: CF boots, walleye boots, properties are set appropriately Change-Id: Id9534a5916abb2f7d2a49cda54e33c1b69c50c2f
45 lines
1.2 KiB
Protocol Buffer
45 lines
1.2 KiB
Protocol Buffer
/*
|
|
* Copyright (C) 2019 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.
|
|
*/
|
|
|
|
syntax = "proto2";
|
|
option optimize_for = LITE_RUNTIME;
|
|
|
|
message PropertyMessage {
|
|
message ControlMessage {
|
|
optional string msg = 1;
|
|
optional string name = 2;
|
|
optional int32 pid = 3;
|
|
}
|
|
|
|
message ChangedMessage {
|
|
optional string name = 1;
|
|
optional string value = 2;
|
|
}
|
|
|
|
oneof msg {
|
|
ControlMessage control_message = 1;
|
|
ChangedMessage changed_message = 2;
|
|
};
|
|
}
|
|
|
|
message InitMessage {
|
|
message ControlResponse { optional bool result = 1; }
|
|
|
|
oneof msg {
|
|
ControlResponse control_response = 1;
|
|
bool load_persistent_properties = 2;
|
|
};
|
|
}
|