From 42c7664ec6148cf16cd27a00cf057a731bee914d Mon Sep 17 00:00:00 2001 From: Bogdan Bogush <bogdan.bogush@iopsys.eu> Date: Mon, 22 Jan 2024 11:05:59 +0000 Subject: [PATCH] Some improvement in rpc_handler_init() and rpc_handler_uninit() Also correct an error in firewall rule event handler for voice. --- daemon/json_rpc/event.c | 2 +- daemon/json_rpc/main.c | 13 ++++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/daemon/json_rpc/event.c b/daemon/json_rpc/event.c index 6680e48..09e5677 100644 --- a/daemon/json_rpc/event.c +++ b/daemon/json_rpc/event.c @@ -73,7 +73,7 @@ int subs_event_handler(const json_object *jmsg, int param_count, json_object *jr return RETURN_ERR; } - if (!match(param_request.name, FIREWALL_RULE_DATA_SIP_PATTERN, 0, NULL) || + if (!match(param_request.name, FIREWALL_RULE_DATA_SIP_PATTERN, 0, NULL) && !match(param_request.name, FIREWALL_RULE_DATA_RTP_PATTERN, 0, NULL)) { ret = RETURN_ERR; WARNING("Unexpected event [%s][%d]", param_request.name, (int)param_request.type); diff --git a/daemon/json_rpc/main.c b/daemon/json_rpc/main.c index f454a33..66d755e 100644 --- a/daemon/json_rpc/main.c +++ b/daemon/json_rpc/main.c @@ -52,7 +52,6 @@ int rpc_handler_init() ERR("Failed to init HAL server"); return -1; } - is_json_server_init_done = true; if (json_hal_server_register_action_callback("setParameters", bbfdm_set_value) != RETURN_OK) { @@ -85,6 +84,8 @@ int rpc_handler_init() goto Error; } + is_json_server_init_done = true; + return 0; Error: @@ -95,11 +96,13 @@ Error: int rpc_handler_uninit() { - if (is_json_server_init_done && json_hal_server_terminate() != RETURN_OK) { - ERR("Failed to terminate HAL server"); - return -1; - } + if (!is_json_server_init_done) + return 0; is_json_server_init_done = false; + + if (json_hal_server_terminate() != RETURN_OK) + ERR("Failed to terminate HAL server"); + subs_event_uninit(); return 0; -- GitLab