Skip to content

Commit dde5ab3

Browse files
committed
Mutex - _webui_get_run_id
1 parent 079621f commit dde5ab3

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

src/webui.c

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -453,6 +453,7 @@ typedef struct _webui_core_t {
453453
webui_mutex_t mutex_async_response;
454454
webui_mutex_t mutex_mem;
455455
webui_mutex_t mutex_token;
456+
webui_mutex_t mutex_js_run_id;
456457
webui_condition_t condition_wait;
457458
char* default_server_root_path;
458459
bool ui;
@@ -4837,9 +4838,12 @@ static uint16_t _webui_get_run_id(void) {
48374838
_webui_log_debug("[Core]\t\t_webui_get_run_id()\n");
48384839
#endif
48394840

4841+
_webui_mutex_lock(&_webui.mutex_js_run_id);
48404842
if (_webui.run_last_id >= WEBUI_MAX_IDS)
48414843
_webui.run_last_id = 0;
4842-
return _webui.run_last_id++;
4844+
uint16_t id = _webui.run_last_id++;
4845+
_webui_mutex_unlock(&_webui.mutex_js_run_id);
4846+
return id;
48434847
}
48444848

48454849
static bool _webui_socket_test_listen_mg(size_t port_num) {
@@ -7027,6 +7031,7 @@ static void _webui_clean(void) {
70277031
_webui_mutex_destroy(&_webui.mutex_async_response);
70287032
_webui_mutex_destroy(&_webui.mutex_mem);
70297033
_webui_mutex_destroy(&_webui.mutex_token);
7034+
_webui_mutex_destroy(&_webui.mutex_js_run_id);
70307035
_webui_condition_destroy(&_webui.condition_wait);
70317036

70327037
#ifdef WEBUI_LOG
@@ -8790,6 +8795,7 @@ static void _webui_init(void) {
87908795
_webui_mutex_init(&_webui.mutex_async_response);
87918796
_webui_mutex_init(&_webui.mutex_mem);
87928797
_webui_mutex_init(&_webui.mutex_token);
8798+
_webui_mutex_init(&_webui.mutex_js_run_id);
87938799
_webui_condition_init(&_webui.condition_wait);
87948800

87958801
// Random

0 commit comments

Comments
 (0)