From b10355a536eeb5e3bb508a359651d892f7279027 Mon Sep 17 00:00:00 2001 From: cpq Date: Sun, 25 Jan 2026 17:21:16 +0000 Subject: [PATCH] Fast fail mg_connect() if network is down --- mongoose.c | 4 ++++ src/net.c | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/mongoose.c b/mongoose.c index 9e059367..4aaa238b 100644 --- a/mongoose.c +++ b/mongoose.c @@ -4673,6 +4673,10 @@ struct mg_connection *mg_connect_svc(struct mg_mgr *mgr, const char *url, struct mg_connection *c = NULL; if (url == NULL || url[0] == '\0') { MG_ERROR(("null url")); +#if MG_ENABLE_TCPIP + } else if (mgr->ifp != NULL && mgr->ifp->state != MG_TCPIP_STATE_READY) { + MG_ERROR(("Network is down")); +#endif } else if ((c = mg_alloc_conn(mgr)) == NULL) { MG_ERROR(("OOM")); } else { diff --git a/src/net.c b/src/net.c index a86ea4c3..af51b649 100644 --- a/src/net.c +++ b/src/net.c @@ -173,6 +173,10 @@ struct mg_connection *mg_connect_svc(struct mg_mgr *mgr, const char *url, struct mg_connection *c = NULL; if (url == NULL || url[0] == '\0') { MG_ERROR(("null url")); +#if MG_ENABLE_TCPIP + } else if (mgr->ifp != NULL && mgr->ifp->state != MG_TCPIP_STATE_READY) { + MG_ERROR(("Network is down")); +#endif } else if ((c = mg_alloc_conn(mgr)) == NULL) { MG_ERROR(("OOM")); } else {