client_info->client_session = cynara_session_from_pid(pid);
if (NULL == client_info->client_session) {
- ERR("cynara_session_from_pid() return NULL");
- client_destroy_info(client_info);
- return -1;
+ WARN("cynara_session_from_pid() return NULL");
+ client_info->client_session = strdup("");
}
*p_client_info = client_info;
pims_ipc_client_info_s* client_get_info(int client_pid)
{
pims_ipc_client_info_s *client_info = NULL;
+ pims_ipc_client_info_s *client_info_clone = NULL;
pthread_mutex_lock(&_worker_client_mutex);
client_info = g_hash_table_lookup(worker_client_info_map, GINT_TO_POINTER(client_pid));
+ client_info_clone = client_clone_info(client_info);
pthread_mutex_unlock(&_worker_client_mutex);
DBG("Get client_info(%p) from pid(%d)", client_info, client_pid);
- return client_info;
+ return client_info_clone;
}