aboutsummaryrefslogtreecommitdiff
path: root/src/client/linux/crash_generation/crash_generation_client.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/linux/crash_generation/crash_generation_client.cc')
-rw-r--r--src/client/linux/crash_generation/crash_generation_client.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/client/linux/crash_generation/crash_generation_client.cc b/src/client/linux/crash_generation/crash_generation_client.cc
index 3cc7eb44..6ede7791 100644
--- a/src/client/linux/crash_generation/crash_generation_client.cc
+++ b/src/client/linux/crash_generation/crash_generation_client.cc
@@ -35,6 +35,7 @@
#include "client/linux/crash_generation/crash_generation_client.h"
#include "common/linux/eintr_wrapper.h"
+#include "common/linux/ignore_ret.h"
#include "common/linux/linux_libc_support.h"
#include "third_party/lss/linux_syscall_support.h"
@@ -67,12 +68,14 @@ CrashGenerationClient::RequestDump(const void* blob, size_t blob_size)
int* p = reinterpret_cast<int*>(CMSG_DATA(hdr));
*p = fds[1];
- HANDLE_EINTR(sys_sendmsg(server_fd_, &msg, 0));
+ ssize_t ret = HANDLE_EINTR(sys_sendmsg(server_fd_, &msg, 0));
sys_close(fds[1]);
+ if (ret <= 0)
+ return false;
// wait for an ACK from the server
char b;
- HANDLE_EINTR(sys_read(fds[0], &b, 1));
+ IGNORE_RET(HANDLE_EINTR(sys_read(fds[0], &b, 1)));
return true;
}