Merge branch 'bugfix/http_server_client_list' into 'master'

httpd_server bugfix

See merge request espressif/esp-idf!12553
This commit is contained in:
Mahavir Jain 2021-03-04 04:18:30 +00:00
commit 2bddd67b7d
3 changed files with 7 additions and 6 deletions

View File

@ -1492,13 +1492,17 @@ esp_err_t httpd_sess_update_lru_counter(httpd_handle_t handle, int sockfd);
* @brief Returns list of current socket descriptors of active sessions
*
* @param[in] handle Handle to server returned by httpd_start
* @param[in,out] fds In: Number of fds allocated in the supplied structure client_fds
* @param[in,out] fds In: Size of provided client_fds array
* Out: Number of valid client fds returned in client_fds,
* @param[out] client_fds Array of client fds
*
* @note Size of provided array has to be equal or greater then maximum number of opened
* sockets, configured upon initialization with max_open_sockets field in
* httpd_config_t structure.
*
* @return
* - ESP_OK : Successfully retrieved session list
* - ESP_ERR_INVALID_ARG : Wrong arguments or list is longer than allocated
* - ESP_ERR_INVALID_ARG : Wrong arguments or list is longer than provided array
*/
esp_err_t httpd_get_client_list(httpd_handle_t handle, size_t *fds, int *client_fds);

View File

@ -105,7 +105,7 @@ esp_err_t httpd_queue_work(httpd_handle_t handle, httpd_work_fn_t work, void *ar
esp_err_t httpd_get_client_list(httpd_handle_t handle, size_t *fds, int *client_fds)
{
struct httpd_data *hd = (struct httpd_data *) handle;
if (hd == NULL || fds == NULL || *fds == 0 || client_fds == NULL || *fds < hd->config.max_open_sockets) {
if (hd == NULL || fds == NULL || *fds == 0 || client_fds == NULL) {
return ESP_ERR_INVALID_ARG;
}
size_t max_fds = *fds;

View File

@ -329,9 +329,6 @@ esp_err_t httpd_uri(struct httpd_data *hd)
aux->sd->ws_handshake_done = true;
aux->sd->ws_handler = uri->handler;
aux->sd->ws_control_frames = uri->handle_ws_control_frames;
/* Return immediately after handshake, no need to call handler here */
return ESP_OK;
}
#endif