--- xtrans-1.5.0/Xtranssock.c.orig 2023-06-03 02:34:28.000000000 +0200 +++ xtrans-1.5.0/Xtranssock.c 2023-06-22 07:00:27.362261937 +0200 @@ -1636,7 +1636,7 @@ * only affect one of a set of addresses. */ - if (olderrno == ECONNREFUSED || olderrno == EINTR + if (olderrno == ECONNREFUSED #if defined(IPv6) && defined(AF_INET6) || (((addrlist->addr->ai_next != NULL) || (addrlist->addr != addrlist->firstaddr)) && @@ -1649,7 +1649,7 @@ #endif ) res = TRANS_TRY_CONNECT_AGAIN; - else if (olderrno == EWOULDBLOCK || olderrno == EINPROGRESS) + else if (olderrno == EWOULDBLOCK || olderrno == EINPROGRESS || olderrno == EINTR) res = TRANS_IN_PROGRESS; else { @@ -1922,7 +1922,7 @@ if (olderrno == EWOULDBLOCK || olderrno == EINPROGRESS) return TRANS_IN_PROGRESS; else if (olderrno == EINTR) - return TRANS_TRY_CONNECT_AGAIN; + return TRANS_IN_PROGRESS; else { prmsg (2,"SocketUNIXConnect: Can't connect: errno = %d\n", EGET());