Enlightenment CVS committal Author : codewarrior Project : e17 Module : libs/ecore
Dir : e17/libs/ecore/src/lib/ecore_ipc Modified Files: ecore_ipc.c ecore_ipc_private.h Log Message: - maintain a list of connected clients and use that for clients_get =================================================================== RCS file: /cvs/e/e17/libs/ecore/src/lib/ecore_ipc/ecore_ipc.c,v retrieving revision 1.34 retrieving revision 1.35 diff -u -3 -r1.34 -r1.35 --- ecore_ipc.c 30 Mar 2006 08:20:18 -0000 1.34 +++ ecore_ipc.c 30 Mar 2006 14:01:04 -0000 1.35 @@ -355,6 +355,8 @@ } svr->max_buf_size = 32 * 1024; svr->data = (void *)data; + svr->client_list = ecore_list_new(); + ecore_list_init(svr->client_list); servers = _ecore_list2_append(servers, svr); ECORE_MAGIC_SET(svr, ECORE_MAGIC_IPC_SERVER); return svr; @@ -438,15 +440,14 @@ if (svr->event_count > 0) svr->delete_me = 1; else - { - Ecore_List2 *l; - + { ECORE_MAGIC_SET(svr, ECORE_MAGIC_NONE); while (svr->clients) ecore_ipc_client_del((Ecore_Ipc_Client *)svr->clients); ecore_con_server_del(svr->server); servers = _ecore_list2_remove(servers, svr); if (svr->buf) free(svr->buf); + ecore_list_destroy(svr->client_list); free(svr); } return data; @@ -503,7 +504,7 @@ "ecore_ipc_server_clients_get"); return NULL; } - return svr->clients; + return svr->client_list; } #define SVENC(_member) \ @@ -971,6 +972,7 @@ cl->max_buf_size = 32 * 1024; ecore_con_client_data_set(cl->client, (void *)cl); svr->clients = _ecore_list2_append(svr->clients, cl); + ecore_list_append(svr->client_list, cl); { Ecore_Ipc_Event_Client_Add *e2; @@ -1001,7 +1003,12 @@ cl = ecore_con_client_data_get(e->client); { Ecore_Ipc_Event_Client_Del *e2; - + Ecore_Ipc_Server *svr; + + svr = ecore_con_server_data_get(ecore_con_client_server_get(e->client)); + ecore_list_goto(svr->client_list, cl); + ecore_list_remove(svr->client_list); + ecore_list_goto_first(svr->client_list); e2 = calloc(1, sizeof(Ecore_Ipc_Event_Client_Del)); if (e2) { =================================================================== RCS file: /cvs/e/e17/libs/ecore/src/lib/ecore_ipc/ecore_ipc_private.h,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- ecore_ipc_private.h 20 Mar 2006 05:53:12 -0000 1.9 +++ ecore_ipc_private.h 30 Mar 2006 14:01:04 -0000 1.10 @@ -59,6 +59,7 @@ ECORE_MAGIC; Ecore_Con_Server *server; Ecore_Ipc_Client *clients; + Ecore_List *client_list; void *data; unsigned char *buf; int buf_size; ------------------------------------------------------- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs