Harden cleanup and reduce internal RAM use. Phase 8C nearly validated
and somewhat stable.
This commit is contained in:
+9
-2
@@ -695,8 +695,13 @@ esp_err_t web_server_start(void)
|
||||
serial_transport_attached = attach_error == ESP_OK;
|
||||
}
|
||||
if (error != ESP_OK && server != NULL) {
|
||||
(void)httpd_ssl_stop(server);
|
||||
server = NULL;
|
||||
esp_err_t cleanup_error = httpd_ssl_stop(server);
|
||||
if (cleanup_error == ESP_OK) {
|
||||
server = NULL;
|
||||
} else {
|
||||
/* Retain ownership so stop can retry and start cannot allocate a second server. */
|
||||
error = cleanup_error;
|
||||
}
|
||||
}
|
||||
|
||||
xSemaphoreTake(s_server_mutex, portMAX_DELAY);
|
||||
@@ -708,6 +713,8 @@ esp_err_t web_server_start(void)
|
||||
s_server = server;
|
||||
++s_counters.starts;
|
||||
} else {
|
||||
/* A non-NULL handle is a partially started server whose cleanup failed. */
|
||||
s_server = server;
|
||||
++s_counters.start_failures;
|
||||
}
|
||||
xSemaphoreGive(s_server_mutex);
|
||||
|
||||
Reference in New Issue
Block a user