summaryrefslogtreecommitdiffstats
path: root/udrv/ulinux/uipc.c
diff options
context:
space:
mode:
Diffstat (limited to 'udrv/ulinux/uipc.c')
-rw-r--r--udrv/ulinux/uipc.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/udrv/ulinux/uipc.c b/udrv/ulinux/uipc.c
index 8e3d4513e..8f7fd43eb 100644
--- a/udrv/ulinux/uipc.c
+++ b/udrv/ulinux/uipc.c
@@ -184,7 +184,7 @@ static int accept_server_socket(int sfd)
pfd.fd = sfd;
pfd.events = POLLIN;
- if (poll(&pfd, 1, 0) == 0)
+ if (TEMP_FAILURE_RETRY(poll(&pfd, 1, 0)) == 0)
{
BTIF_TRACE_EVENT("accept poll timeout");
return -1;
@@ -192,7 +192,7 @@ static int accept_server_socket(int sfd)
//BTIF_TRACE_EVENT("poll revents 0x%x", pfd.revents);
- if ((fd = accept(sfd, (struct sockaddr *)&remote, &len)) == -1)
+ if ((fd = TEMP_FAILURE_RETRY(accept(sfd, (struct sockaddr *)&remote, &len))) == -1)
{
BTIF_TRACE_ERROR("sock accept failed (%s)", strerror(errno));
return -1;
@@ -330,7 +330,7 @@ static void uipc_check_interrupt_locked(void)
{
char sig_recv = 0;
//BTIF_TRACE_EVENT("UIPC INTERRUPT");
- recv(uipc_main.signal_fds[0], &sig_recv, sizeof(sig_recv), MSG_WAITALL);
+ TEMP_FAILURE_RETRY(recv(uipc_main.signal_fds[0], &sig_recv, sizeof(sig_recv), MSG_WAITALL));
}
}
@@ -338,7 +338,7 @@ static inline void uipc_wakeup_locked(void)
{
char sig_on = 1;
BTIF_TRACE_EVENT("UIPC SEND WAKE UP");
- send(uipc_main.signal_fds[1], &sig_on, sizeof(sig_on), 0);
+ TEMP_FAILURE_RETRY(send(uipc_main.signal_fds[1], &sig_on, sizeof(sig_on), 0));
}
static int uipc_setup_server_locked(tUIPC_CH_ID ch_id, char *name, tUIPC_RCV_CBACK *cback)
@@ -394,7 +394,7 @@ static void uipc_flush_ch_locked(tUIPC_CH_ID ch_id)
while (1)
{
- ret = poll(&pfd, 1, 1);
+ ret = TEMP_FAILURE_RETRY(poll(&pfd, 1, 1));
BTIF_TRACE_VERBOSE("%s() - polling fd %d, revents: 0x%x, ret %d",
__FUNCTION__, pfd.fd, pfd.revents, ret);
@@ -412,7 +412,7 @@ static void uipc_flush_ch_locked(tUIPC_CH_ID ch_id)
/* read sufficiently large buffer to ensure flush empties socket faster than
it is getting refilled */
- read(pfd.fd, &buf, UIPC_FLUSH_BUFFER_SIZE);
+ TEMP_FAILURE_RETRY(read(pfd.fd, &buf, UIPC_FLUSH_BUFFER_SIZE));
}
}
@@ -503,7 +503,7 @@ static void uipc_read_task(void *arg)
{
uipc_main.read_set = uipc_main.active_set;
- result = select(uipc_main.max_fd+1, &uipc_main.read_set, NULL, NULL, NULL);
+ result = TEMP_FAILURE_RETRY(select(uipc_main.max_fd+1, &uipc_main.read_set, NULL, NULL, NULL));
if (result == 0)
{
@@ -723,7 +723,7 @@ BOOLEAN UIPC_Send(tUIPC_CH_ID ch_id, UINT16 msg_evt, UINT8 *p_buf,
UIPC_LOCK();
- if (write(uipc_main.ch[ch_id].fd, p_buf, msglen) < 0)
+ if (TEMP_FAILURE_RETRY(write(uipc_main.ch[ch_id].fd, p_buf, msglen)) < 0)
{
BTIF_TRACE_ERROR("failed to write (%s)", strerror(errno));
}
@@ -792,7 +792,7 @@ UINT32 UIPC_Read(tUIPC_CH_ID ch_id, UINT16 *p_msg_evt, UINT8 *p_buf, UINT32 len)
/* make sure there is data prior to attempting read to avoid blocking
a read for more than poll timeout */
- if (poll(&pfd, 1, uipc_main.ch[ch_id].read_poll_tmo_ms) == 0)
+ if (TEMP_FAILURE_RETRY(poll(&pfd, 1, uipc_main.ch[ch_id].read_poll_tmo_ms)) == 0)
{
BTIF_TRACE_EVENT("poll timeout (%d ms)", uipc_main.ch[ch_id].read_poll_tmo_ms);
break;
@@ -809,7 +809,7 @@ UINT32 UIPC_Read(tUIPC_CH_ID ch_id, UINT16 *p_msg_evt, UINT8 *p_buf, UINT32 len)
return 0;
}
- n = recv(fd, p_buf+n_read, len-n_read, 0);
+ n = TEMP_FAILURE_RETRY(recv(fd, p_buf+n_read, len-n_read, 0));
//BTIF_TRACE_EVENT("read %d bytes", n);