diff --git a/daemon/json_rpc/event.c b/daemon/json_rpc/event.c index 6680e48a88e8837b1f991e0b9b25c5db943398b5..09e56776a9b6041a7304cdc1b2281976ae1608ab 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 f454a339eba5c39e9977f80351220ca4a5765323..66d755e4dd91addada47c0712c2b65eca116f55d 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;