fix typo group name.
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
diff --git a/sanei/sanei_tcp.c b/sanei/sanei_tcp.c
|
||||
index a57d7c7..d0a1e92 100644
|
||||
--- a/sanei/sanei_tcp.c
|
||||
+++ b/sanei/sanei_tcp.c
|
||||
@@ -45,6 +45,7 @@
|
||||
#include <unistd.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
+#include <time.h>
|
||||
|
||||
#ifdef HAVE_WINSOCK2_H
|
||||
#include <winsock2.h>
|
||||
@@ -123,14 +124,27 @@ sanei_tcp_write(int fd, const u_char * buf, int count)
|
||||
ssize_t
|
||||
sanei_tcp_read(int fd, u_char * buf, int count)
|
||||
{
|
||||
- ssize_t bytes_recv = 0, rc = 1;
|
||||
+ ssize_t bytes_recv = 0, rc = 1;
|
||||
+ int retry = 5;
|
||||
|
||||
while (bytes_recv < count && rc > 0)
|
||||
{
|
||||
rc = recv(fd, buf+bytes_recv, count-bytes_recv, 0);
|
||||
+ DBG(1, "%s: bytes received %d\n", __FUNCTION__, rc);
|
||||
if (rc > 0)
|
||||
bytes_recv += rc;
|
||||
-
|
||||
+ else {
|
||||
+ if ( errno == EAGAIN && retry-- ) {
|
||||
+ DBG(1, "%s: waiting %d\n", __FUNCTION__, retry);
|
||||
+ /* wait for max 1s */
|
||||
+ struct timespec req;
|
||||
+ struct timespec rem;
|
||||
+ req.tv_sec = 0;
|
||||
+ req.tv_nsec= 100000000;
|
||||
+ nanosleep(&req, &rem);
|
||||
+ rc = 1;
|
||||
+ }
|
||||
+ }
|
||||
}
|
||||
return bytes_recv;
|
||||
}
|
||||
Reference in New Issue
Block a user