Enlightenment CVS committal

Author  : raster
Project : e17
Module  : libs/ecore

Dir     : e17/libs/ecore/src/lib/ecore_ipc


Modified Files:
        ecore_ipc.c 


Log Message:


more safety measures

===================================================================
RCS file: /cvs/e/e17/libs/ecore/src/lib/ecore_ipc/ecore_ipc.c,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -3 -r1.36 -r1.37
--- ecore_ipc.c 31 Mar 2006 02:08:11 -0000      1.36
+++ ecore_ipc.c 2 Jun 2006 07:24:04 -0000       1.37
@@ -973,6 +973,7 @@
        ecore_con_client_data_set(cl->client, (void *)cl);
        svr->clients = _ecore_list2_append(svr->clients, cl);
        ecore_list_append(svr->client_list, cl);
+       if (!cl->delete_me)
          {
             Ecore_Ipc_Event_Client_Add *e2;
             
@@ -1009,13 +1010,16 @@
             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)
+            if (!cl->delete_me)
               {
-                 cl->event_count++;
-                 e2->client = cl;
-                 ecore_event_add(ECORE_IPC_EVENT_CLIENT_DEL, e2,
-                                 _ecore_ipc_event_client_del_free, NULL);
+                 e2 = calloc(1, sizeof(Ecore_Ipc_Event_Client_Del));
+                 if (e2)
+                   {
+                      cl->event_count++;
+                      e2->client = cl;
+                      ecore_event_add(ECORE_IPC_EVENT_CLIENT_DEL, e2,
+                                      _ecore_ipc_event_client_del_free, NULL);
+                   }
               }
          }
      }
@@ -1034,6 +1038,7 @@
        Ecore_Ipc_Server *svr;
        
        svr = ecore_con_server_data_get(e->server);
+       if (!svr->delete_me)
          {
             Ecore_Ipc_Event_Server_Add *e2;
             
@@ -1062,6 +1067,7 @@
        Ecore_Ipc_Server *svr;
        
        svr = ecore_con_server_data_get(e->server);
+       if (!svr->delete_me)
          {
             Ecore_Ipc_Event_Server_Del *e2;
             
@@ -1219,21 +1225,24 @@
                            if (!buf) return 0;
                            memcpy(buf, cl->buf + offset + s, msg.size);
                         }
-                      e2 = calloc(1, sizeof(Ecore_Ipc_Event_Client_Data));
-                      if (e2)
+                      if (!cl->delete_me)
                         {
-                           cl->event_count++;
-                           e2->client   = cl;
-                           e2->major    = msg.major;
-                           e2->minor    = msg.minor;
-                           e2->ref      = msg.ref;
-                           e2->ref_to   = msg.ref_to;
-                           e2->response = msg.response;
-                           e2->size     = msg.size;
-                           e2->data     = buf;
-                           ecore_event_add(ECORE_IPC_EVENT_CLIENT_DATA, e2,
-                                           _ecore_ipc_event_client_data_free,
-                                           NULL);
+                           e2 = calloc(1, sizeof(Ecore_Ipc_Event_Client_Data));
+                           if (e2)
+                             {
+                                cl->event_count++;
+                                e2->client   = cl;
+                                e2->major    = msg.major;
+                                e2->minor    = msg.minor;
+                                e2->ref      = msg.ref;
+                                e2->ref_to   = msg.ref_to;
+                                e2->response = msg.response;
+                                e2->size     = msg.size;
+                                e2->data     = buf;
+                                ecore_event_add(ECORE_IPC_EVENT_CLIENT_DATA, 
e2,
+                                                
_ecore_ipc_event_client_data_free,
+                                                NULL);
+                             }
                         }
                    }
                  cl->prev.i = msg;
@@ -1399,21 +1408,24 @@
                            if (!buf) return 0;
                            memcpy(buf, svr->buf + offset + s, msg.size);
                         }
-                      e2 = calloc(1, sizeof(Ecore_Ipc_Event_Server_Data));
-                      if (e2)
+                      if (!svr->delete_me)
                         {
-                           svr->event_count++;
-                           e2->server   = svr;
-                           e2->major    = msg.major;
-                           e2->minor    = msg.minor;
-                           e2->ref      = msg.ref;
-                           e2->ref_to   = msg.ref_to;
-                           e2->response = msg.response;
-                           e2->size     = msg.size;
-                           e2->data     = buf;
-                           ecore_event_add(ECORE_IPC_EVENT_SERVER_DATA, e2,
-                                           _ecore_ipc_event_server_data_free,
-                                           NULL);
+                           e2 = calloc(1, sizeof(Ecore_Ipc_Event_Server_Data));
+                           if (e2)
+                             {
+                                svr->event_count++;
+                                e2->server   = svr;
+                                e2->major    = msg.major;
+                                e2->minor    = msg.minor;
+                                e2->ref      = msg.ref;
+                                e2->ref_to   = msg.ref_to;
+                                e2->response = msg.response;
+                                e2->size     = msg.size;
+                                e2->data     = buf;
+                                ecore_event_add(ECORE_IPC_EVENT_SERVER_DATA, 
e2,
+                                                
_ecore_ipc_event_server_data_free,
+                                                NULL);
+                             }
                         }
                    }
                  svr->prev.i = msg;




_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to