summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorFurkan Sahin <furkan-dev@proton.me>2016-03-22 11:27:36 +0100
committerFurkan Sahin <furkan-dev@proton.me>2016-03-22 11:27:36 +0100
commit78716da5f67b4175a7ea715cb0314b48edb0d0c5 (patch)
tree27246e135aa3184f9e0a4cd7721e486097c4807d /common
parentd17c55290777e11459fd716a5e60bf938e8ceb7d (diff)
Abort when receiving 0 bytes in IPC call
When sway crashes a swaybar process is sometimes left behind running at 100% CPU. This was caused by the swaybar trying to retrieve an IPC response from the closed sway socket. This patch fixes the problem by aborting when the socket has been closed (recv return 0). Fix #528
Diffstat (limited to 'common')
-rw-r--r--common/ipc-client.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/common/ipc-client.c b/common/ipc-client.c
index 81348913..93f2963c 100644
--- a/common/ipc-client.c
+++ b/common/ipc-client.c
@@ -47,7 +47,7 @@ struct ipc_response *ipc_recv_response(int socketfd) {
size_t total = 0;
while (total < ipc_header_size) {
ssize_t received = recv(socketfd, data + total, ipc_header_size - total, 0);
- if (received < 0) {
+ if (received <= 0) {
sway_abort("Unable to receive IPC response");
}
total += received;