diff --git a/io/dap_events_socket.c b/io/dap_events_socket.c index 3d80658bb930489b0b09ee2b0e5b721a4aa65340..08e5422cc3bff0e23b0e82636fe3cc83593c9e34 100644 --- a/io/dap_events_socket.c +++ b/io/dap_events_socket.c @@ -1612,9 +1612,7 @@ void dap_events_socket_delete_unsafe( dap_events_socket_t * a_esocket , bool a_p if (!a_preserve_inheritor ) DAP_DEL_Z(a_esocket->_inheritor); - DAP_DEL_Z(a_esocket->_pvt); - DAP_DEL_Z(a_esocket->buf_in); - DAP_DEL_Z(a_esocket->buf_out); + DAP_DEL_MULTY(a_esocket->_pvt, a_esocket->buf_in, a_esocket->buf_out); #ifdef DAP_SYS_DEBUG atomic_fetch_add(&s_memstat[MEMSTAT$K_BUF_OUT].free_nr, 1); diff --git a/io/dap_server.c b/io/dap_server.c index b0eff4685eb4b2e46d7c09fb067a4b775ac5184d..c1883bc9d8be1b8e135bbf2fd6ac4cae16d75cbc 100644 --- a/io/dap_server.c +++ b/io/dap_server.c @@ -271,11 +271,8 @@ dap_server_t *dap_server_new(char **a_addrs, uint16_t a_count, dap_server_type_t // sanity check dap_return_val_if_pass(!a_addrs || !a_count, NULL); // memory alloc - dap_server_t *l_server = DAP_NEW_Z(dap_server_t); - if (!l_server) { - log_it(L_CRITICAL, "Memory allocation error"); - return NULL; - } + dap_server_t *l_server = NULL; + DAP_NEW_Z_RET_VAL(l_server, dap_server_t, NULL, NULL); // preparing //create callback dap_events_socket_callbacks_t l_callbacks = {0}; diff --git a/net/server/notify_server/src/dap_notify_srv.c b/net/server/notify_server/src/dap_notify_srv.c index 2672787477f0ac60568e5d0ad96f3506f2583f95..da66363a2af92fe2b9a2cbc66b6e1a07aa9bc86c 100644 --- a/net/server/notify_server/src/dap_notify_srv.c +++ b/net/server/notify_server/src/dap_notify_srv.c @@ -57,31 +57,26 @@ static void s_notify_server_callback_delete(dap_events_socket_t * a_es, void * a */ int dap_notify_server_init() { - const char *l_path = dap_config_get_item_str_default(g_config, "notify_server", "listen_path", NULL); - const char *l_path_mode = dap_config_get_item_str_default(g_config, "notify_server", "listen_path_mode","0600"); - - uint16_t l_notify_socket_count = 0; - char **l_notify_socket_address = dap_config_get_array_str(g_config, "notify_server", "listen_address", &l_notify_socket_count); - - if(l_path){ - char *l_path_and_mode = DAP_NEW_Z_SIZE(char, MAX_PATH + 5); - dap_snprintf(l_path_and_mode, MAX_PATH + 4, "%s%c%s", l_path, l_path_mode ? ':' : 0, l_path_mode ? l_path_mode : "\0"); - s_notify_server = dap_server_new(&l_path_and_mode, 1, DAP_SERVER_LOCAL, NULL); - DAP_DELETE(l_path_and_mode); - } else if (l_notify_socket_address && l_notify_socket_count) { - s_notify_server = dap_server_new(l_notify_socket_address, l_notify_socket_count, DAP_SERVER_TCP, NULL); + uint16_t l_notify_addrs_count = 0; + char **l_notify_addrs = dap_config_get_array_str(g_config, "notify_server", "listen_path", &l_notify_addrs_count); + if( l_notify_addrs ) { + s_notify_server = dap_server_new(l_notify_addrs, l_notify_addrs_count, DAP_SERVER_LOCAL, NULL); + } else if (l_notify_addrs = dap_config_get_array_str(g_config, "notify_server", "listen_address", &l_notify_addrs_count)) { + s_notify_server = dap_server_new(l_notify_addrs, l_notify_addrs_count, DAP_SERVER_TCP, NULL); } else { log_it(L_INFO,"Notify server is not configured, nothing to init but thats okay"); return 0; } - if (!s_notify_server) + if (!s_notify_server) { + log_it(L_ERROR,"Notify server not initalized, check config"); return -1; + } s_notify_server->client_callbacks.new_callback = s_notify_server_callback_new; s_notify_server->client_callbacks.delete_callback = s_notify_server_callback_delete; s_notify_server_queue = dap_events_socket_create_type_queue_ptr_mt(dap_events_worker_get_auto(),s_notify_server_callback_queue); uint32_t l_workers_count = dap_events_thread_get_count(); - s_notify_server_queue_inter = DAP_NEW_Z_SIZE(dap_events_socket_t*,sizeof (dap_events_socket_t*)*l_workers_count ); + DAP_NEW_Z_COUNT_RET_VAL(s_notify_server_queue_inter, dap_events_socket_t *, l_workers_count, -2, NULL); for(uint32_t i = 0; i < l_workers_count; i++){ s_notify_server_queue_inter[i] = dap_events_socket_queue_ptr_create_input(s_notify_server_queue); dap_events_socket_assign_on_worker_mt(s_notify_server_queue_inter[i], dap_events_worker_get(i));