summaryrefslogtreecommitdiff
path: root/libs/binder/RpcState.cpp
diff options
context:
space:
mode:
author Steven Moreland <smoreland@google.com> 2021-04-02 22:50:40 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2021-04-02 22:50:40 +0000
commitb608e88130b9a9fa75a09f3bb48fc654e787c09e (patch)
tree65f44743842c6af0f61552f99fa732583e59eddb /libs/binder/RpcState.cpp
parent9cddd4a883ad33520153d76c8c1a4346cdec4b75 (diff)
parent44f85ee1162cf3e8a2fd9630e1d0d7b135546cd0 (diff)
Merge "libbinder: RPC avoid SIGPIPE" am: 876a646ea7 am: 44f85ee116
Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/1663085 Change-Id: I9ae81acf70402534e1be28d5927787a4f167acfa
Diffstat (limited to 'libs/binder/RpcState.cpp')
-rw-r--r--libs/binder/RpcState.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/libs/binder/RpcState.cpp b/libs/binder/RpcState.cpp
index 64e842e927..3b3adca34f 100644
--- a/libs/binder/RpcState.cpp
+++ b/libs/binder/RpcState.cpp
@@ -192,7 +192,7 @@ bool RpcState::rpcSend(const base::unique_fd& fd, const char* what, const void*
return false;
}
- ssize_t sent = TEMP_FAILURE_RETRY(send(fd.get(), data, size, 0));
+ ssize_t sent = TEMP_FAILURE_RETRY(send(fd.get(), data, size, MSG_NOSIGNAL));
if (sent < 0 || sent != static_cast<ssize_t>(size)) {
ALOGE("Failed to send %s (sent %zd of %zu bytes) on fd %d, error: %s", what, sent, size,
@@ -212,7 +212,7 @@ bool RpcState::rpcRec(const base::unique_fd& fd, const char* what, void* data, s
return false;
}
- ssize_t recd = TEMP_FAILURE_RETRY(recv(fd.get(), data, size, MSG_WAITALL));
+ ssize_t recd = TEMP_FAILURE_RETRY(recv(fd.get(), data, size, MSG_WAITALL | MSG_NOSIGNAL));
if (recd < 0 || recd != static_cast<ssize_t>(size)) {
terminate();