forked from enlightenment/efl
ecore_ipc: check if client is still alive efore emitting 'del' event.
Using the ecore_ipc_server_example with -m/--single-message, if we deleted the client from the callback it would find a dead "cl". As the "cl" handle is removed from svr->clients before it's deleted, it's safe to check if we have that handle in the list before proceeding.
This commit is contained in:
parent
3bc7c502db
commit
715c882073
|
@ -889,6 +889,7 @@ _ecore_ipc_event_client_del(void *data EINA_UNUSED, int ev_type EINA_UNUSED, voi
|
|||
Ecore_Ipc_Client *cl;
|
||||
|
||||
cl = ecore_con_client_data_get(e->client);
|
||||
if (!eina_list_data_find(svr->clients, cl)) return ECORE_CALLBACK_RENEW;
|
||||
cl->client = NULL;
|
||||
|
||||
ecore_ipc_post_event_client_del(cl);
|
||||
|
|
Loading…
Reference in New Issue