summaryrefslogtreecommitdiff
path: root/source/lib/util_sock.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/lib/util_sock.c')
-rw-r--r--source/lib/util_sock.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/source/lib/util_sock.c b/source/lib/util_sock.c
index 12fc2ead95c..1a73a310b62 100644
--- a/source/lib/util_sock.c
+++ b/source/lib/util_sock.c
@@ -278,7 +278,12 @@ ssize_t read_udp_socket(int fd,char *buf,size_t len)
memset((char *)&lastip,'\0',sizeof(lastip));
ret = (ssize_t)sys_recvfrom(fd,buf,len,0,(struct sockaddr *)&sock,&socklen);
if (ret <= 0) {
- DEBUG(2,("read socket failed. ERRNO=%s\n",strerror(errno)));
+ /* Don't print a low debug error for a non-blocking socket. */
+ if (errno == EAGAIN) {
+ DEBUG(10,("read socket returned EAGAIN. ERRNO=%s\n",strerror(errno)));
+ } else {
+ DEBUG(2,("read socket failed. ERRNO=%s\n",strerror(errno)));
+ }
return(0);
}
@@ -1003,7 +1008,7 @@ BOOL open_any_socket_out(struct sockaddr_in *addrs, int num_addrs,
tv.tv_sec = 0;
tv.tv_usec = connect_loop;
- res = sys_select(maxfd+1, &r_fds, &wr_fds, NULL, &tv);
+ res = sys_select_intr(maxfd+1, &r_fds, &wr_fds, NULL, &tv);
if (res < 0)
goto done;