summaryrefslogtreecommitdiffstats
path: root/call/call.c
diff options
context:
space:
mode:
Diffstat (limited to 'call/call.c')
-rw-r--r--call/call.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/call/call.c b/call/call.c
index e6adbc7..f7a7770 100644
--- a/call/call.c
+++ b/call/call.c
@@ -1648,12 +1648,15 @@ int cmd_call(char *call[], int mode)
FD_SET(fd, &sock_write);
if (select(fd + 1, &sock_read, &sock_write, NULL, (uploadfile == -1 && downloadfile == -1 && inactivity_timeout_is_set == FALSE) ? NULL : &tv) == -1) {
- if (!interrupted && errno == EAGAIN) {
- usleep(100000);
- continue;
- }
- if (!interrupted)
+ if (!interrupted) {
+ if (errno == EINTR)
+ continue;
+ if (errno == EAGAIN) {
+ usleep(100000);
+ continue;
+ }
perror("select");
+ }
break;
}
if (inactivity_timeout_is_set == TRUE && !FD_ISSET(fd, &sock_read) && !FD_ISSET(STDIN_FILENO, &sock_read)) {