diff --git a/src/core/lib/iomgr/tcp_server_posix.c b/src/core/lib/iomgr/tcp_server_posix.c index 7cc44fabe7e807299257ff219c89ffd664629e1c..61ffb02a716f73ae14db960e1701d0550dd0d7f7 100644 --- a/src/core/lib/iomgr/tcp_server_posix.c +++ b/src/core/lib/iomgr/tcp_server_posix.c @@ -601,7 +601,9 @@ static grpc_error *add_all_local_addrs_to_server(grpc_tcp_server *s, unsigned port_index, int requested_port, int *out_port) { -#ifdef GRPC_HAVE_IFADDRS +#ifndef GRPC_HAVE_IFADDRS + return GRPC_ERROR_CREATE("no ifaddrs available"); +#else /* ifndef GRPC_HAVE_IFADDRS */ struct ifaddrs *ifa = NULL; struct ifaddrs *ifa_it; unsigned fd_index = 0; @@ -689,9 +691,7 @@ static grpc_error *add_all_local_addrs_to_server(grpc_tcp_server *s, *out_port = sp->port; return GRPC_ERROR_NONE; } -#else /* GRPC_HAVE_IFADDRS */ - return GRPC_ERROR_NONE; -#endif /* GRPC_HAVE_IFADDRS */ +#endif /* ifndef GRPC_HAVE_IFADDRS */ } /* Treat :: or 0.0.0.0 as a family-agnostic wildcard. */ @@ -708,10 +708,14 @@ static grpc_error *add_wildcard_addrs_to_server(grpc_tcp_server *s, grpc_error *v6_err = GRPC_ERROR_NONE; grpc_error *v4_err = GRPC_ERROR_NONE; *out_port = -1; + +#ifdef GRPC_HAVE_IFADDRS if (s->expand_wildcard_addrs) { return add_all_local_addrs_to_server(s, port_index, requested_port, out_port); } +#endif /* GRPC_HAVE_IFADDRS */ + grpc_sockaddr_make_wildcards(requested_port, &wild4, &wild6); /* Try listening on IPv6 first. */ if ((v6_err = add_addr_to_server(s, &wild6, port_index, fd_index, &dsmode,