Merge "Fix error handling in aconfigd-system" into main am: c520d748f3
Original change: https://android-review.googlesource.com/c/platform/system/server_configurable_flags/+/3378361
Change-Id: I240c33ba845bf9f9e9dee5c6aefbf97adecb8257
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/aconfigd/libcxx_aconfigd.cpp b/aconfigd/libcxx_aconfigd.cpp
index 0256b66..d5e1d46 100644
--- a/aconfigd/libcxx_aconfigd.cpp
+++ b/aconfigd/libcxx_aconfigd.cpp
@@ -75,10 +75,8 @@
auto* return_msg = return_messages.add_msgs();
auto result = impl->m_aconfigd->HandleSocketRequest(request, *return_msg);
if (!result.ok()) {
- CppStringResult cpp_result;
- cpp_result.status = CppResultStatus::Err;
- cpp_result.error_message = result.error().message();
- return cpp_result;
+ auto* errmsg = return_msg->mutable_error_message();
+ *errmsg = result.error().message();
}
}
diff --git a/aconfigd/src/aconfigd_commands.rs b/aconfigd/src/aconfigd_commands.rs
index 05e7bb5..a82a8a9 100644
--- a/aconfigd/src/aconfigd_commands.rs
+++ b/aconfigd/src/aconfigd_commands.rs
@@ -75,27 +75,21 @@
let mut message_buffer = vec![0u8; message_length as usize];
stream.read_exact(&mut message_buffer)?;
- let response_buffer = match aconfigd.handle_socket_request(&message_buffer) {
- Ok(response) => response,
+ match aconfigd.handle_socket_request(&message_buffer) {
+ Ok(response_buffer) => {
+ let mut response_length_buffer: [u8; 4] = [0; 4];
+ let response_size = &response_buffer.len();
+ response_length_buffer[0] = (response_size >> 24) as u8;
+ response_length_buffer[1] = (response_size >> 16) as u8;
+ response_length_buffer[2] = (response_size >> 8) as u8;
+ response_length_buffer[3] = *response_size as u8;
+ stream.write_all(&response_length_buffer)?;
+ stream.write_all(&response_buffer)?;
+ }
Err(e) => {
error!("failed to process socket request: {e}");
- let mut return_msg = ProtoStorageReturnMessage::new();
- return_msg.set_error_message(format!(
- "failed to handle socket request: {:?}",
- e
- ));
- protobuf::Message::write_to_bytes(&return_msg)?
}
};
-
- let mut response_length_buffer: [u8; 4] = [0; 4];
- let response_size = &response_buffer.len();
- response_length_buffer[0] = (response_size >> 24) as u8;
- response_length_buffer[1] = (response_size >> 16) as u8;
- response_length_buffer[2] = (response_size >> 8) as u8;
- response_length_buffer[3] = *response_size as u8;
- stream.write_all(&response_length_buffer)?;
- stream.write_all(&response_buffer)?;
}
Err(errmsg) => {
error!("failed to listen for an incoming message: {:?}", errmsg);