diff options
Diffstat (limited to 'hci/src/btsnoop_net.c')
-rw-r--r-- | hci/src/btsnoop_net.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/hci/src/btsnoop_net.c b/hci/src/btsnoop_net.c index 2c8787563..96a4fe9cd 100644 --- a/hci/src/btsnoop_net.c +++ b/hci/src/btsnoop_net.c @@ -104,7 +104,7 @@ void btsnoop_net_write(const void *data, size_t length) { pthread_mutex_lock(&client_socket_lock_); if (client_socket_btsnoop != -1) { do { - if ((ret = send(client_socket_btsnoop, data, length, 0)) == -1 && errno == ECONNRESET) { + if ((ret = TEMP_FAILURE_RETRY(send(client_socket_btsnoop, data, length, 0))) == -1 && errno == ECONNRESET) { safe_close_(&client_socket_btsnoop); LOG_INFO("%s conn closed", __func__); } @@ -180,7 +180,7 @@ static void *listen_fn_(UNUSED_ATTR void *context) { } if ((listen_socket_ != -1) && FD_ISSET(listen_socket_, &sock_fds)) { - client_socket = accept(listen_socket_, NULL, NULL); + client_socket = TEMP_FAILURE_RETRY(accept(listen_socket_, NULL, NULL)); if (client_socket == -1) { if (errno == EINVAL || errno == EBADF) { LOG_WARN("%s error accepting TCP socket: %s", __func__, strerror(errno)); @@ -193,7 +193,7 @@ static void *listen_fn_(UNUSED_ATTR void *context) { struct sockaddr_un cliaddr; int length; - client_socket = accept(listen_socket_local_, (struct sockaddr *)&cliaddr, &length); + client_socket = TEMP_FAILURE_RETRY(accept(listen_socket_local_, (struct sockaddr *)&cliaddr, &length)); if (client_socket == -1) { if (errno == EINVAL || errno == EBADF) { LOG_WARN("%s error accepting LOCAL socket: %s", __func__, strerror(errno)); @@ -209,7 +209,7 @@ static void *listen_fn_(UNUSED_ATTR void *context) { pthread_mutex_lock(&client_socket_lock_); safe_close_(&client_socket_btsnoop); client_socket_btsnoop = client_socket; - send(client_socket_btsnoop, "btsnoop\0\0\0\0\1\0\0\x3\xea", 16, 0); + TEMP_FAILURE_RETRY(send(client_socket_btsnoop, "btsnoop\0\0\0\0\1\0\0\x3\xea", 16, 0)); pthread_mutex_unlock(&client_socket_lock_); FD_ZERO(&sock_fds); |