summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sysdep/unix/io.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sysdep/unix/io.c b/sysdep/unix/io.c
index ed5b89fa..f68763cc 100644
--- a/sysdep/unix/io.c
+++ b/sysdep/unix/io.c
@@ -1025,7 +1025,7 @@ sk_write(sock *s)
{
sockaddr sa;
fill_in_sockaddr(&sa, s->daddr, s->dport);
- if (connect(s->fd, (struct sockaddr *) &sa, sizeof(sa)) >= 0)
+ if (connect(s->fd, (struct sockaddr *) &sa, sizeof(sa)) >= 0 || errno == EISCONN)
sk_tcp_connected(s);
else if (errno != EINTR && errno != EAGAIN && errno != EINPROGRESS)
s->err_hook(s, errno);