diff --git a/src/ChangeLog b/src/ChangeLog index eb496ec9..dbc1b27c 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2005-04-24 Hrvoje Niksic + + * connect.c (retryable_socket_connect_error): Return 0 for + ENETUNREACH and EHOSTUNREACH. + 2005-04-23 Hrvoje Niksic * cmpt.c: Reenable the memmove implementation for systems that diff --git a/src/connect.c b/src/connect.c index 1aab01bb..a95301b2 100644 --- a/src/connect.c +++ b/src/connect.c @@ -597,8 +597,16 @@ retryable_socket_connect_error (int err) ) return 0; - if (err == ECONNREFUSED && !opt.retry_connrefused) - return 0; + if (!opt.retry_connrefused) + if (err == ECONNREFUSED +#ifdef ENETUNREACH + || err == ENETUNREACH /* network is unreachable */ +#endif +#ifdef EHOSTUNREACH + || err == EHOSTUNREACH /* host is unreachable */ +#endif + ) + return 0; return 1; }