503 |
} while(n == -1 && errno == EINTR); |
} while(n == -1 && errno == EINTR); |
504 |
|
|
505 |
if(n == -1 && (errno == EAGAIN || errno == EWOULDBLOCK)) { |
if(n == -1 && (errno == EAGAIN || errno == EWOULDBLOCK)) { |
506 |
if(can_write(socket, 5) <= 0) { |
if(can_write(socket, 1) <= 0) { |
507 |
return -1; |
return -1; |
508 |
} |
} |
509 |
do { |
do { |
558 |
|
|
559 |
|
|
560 |
/* |
/* |
561 |
* Do a non blocking connect, timeout of not connected within 5 seconds |
* Do a non blocking connect, timeout if not connected within 5 seconds |
562 |
*/ |
*/ |
563 |
static int do_connect(int s, const struct sockaddr *addr, socklen_t addrlen) { |
static int do_connect(int s, const struct sockaddr *addr, socklen_t addrlen) { |
564 |
|
|