Enlightenment CVS committal

Author  : xcomputerman
Project : e17
Module  : apps/entrance

Dir     : e17/apps/entrance/src/client


Modified Files:
        entrance_ipc.c entrance_session.c main.c 


Log Message:
- We want to connect in the client, not listen for connections
- Use proper ipc namespaces
- Add sanity checks to eliminate double free()s on e->ee

===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/entrance/src/client/entrance_ipc.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- entrance_ipc.c      23 Mar 2004 17:43:34 -0000      1.1
+++ entrance_ipc.c      25 Mar 2004 05:23:00 -0000      1.2
@@ -1,110 +1,110 @@
 /*==========================================================================
  * Filename: entrance_ipc.c
  *========================================================================*/
-#include<Ecore.h>
-#include<Ecore_Ipc.h>
-#include<limits.h>
-#include<stdio.h>
+#include <Ecore.h>
+#include <Ecore_Ipc.h>
+#include <limits.h>
+#include <stdio.h>
 
-#define IPC_TITLE "entrance"
+#define IPC_TITLE "entrance_ipc"
 static Ecore_Ipc_Server *server = NULL;
 
 /**
- * ipc_server_add - when we connect to the ipc daemon
+ * _entrance_ipc_server_add - when we connect to the ipc daemon
  * @data -
  * @type - 
  * @event -
  */
 static int
-ipc_server_add(void *data, int type, void *event)
+_entrance_ipc_server_add(void *data, int type, void *event)
 {
    Ecore_Ipc_Event_Server_Add *e;
 
    e = (Ecore_Ipc_Event_Server_Add *) event;
-   fprintf(stderr, "Server add\n");
-   return (1);
+   fprintf(stderr, "_entrance_ipc_server_add: Received event\n");
+   return TRUE;
 }
 
 /**
- * ipc_server_del - when we disconnect from the ipc daemon
+ * _entrance_ipc_server_del - when we disconnect from the ipc daemon
  * @data -
  * @type - 
  * @event -
  */
 static int
-ipc_server_del(void *data, int type, void *event)
+_entrance_ipc_server_del(void *data, int type, void *event)
 {
    Ecore_Ipc_Event_Server_Del *e;
 
    e = (Ecore_Ipc_Event_Server_Del *) event;
-   fprintf(stderr, "Server delete\n");
-   return (1);
+   fprintf(stderr, "_entrance_ipc_server_del: Received event\n");
+   return TRUE;
 }
 
 /**
- * ipc_server_del - when we disconnect from the ipc daemon
+ * _entrance_ipc_server_del - when we disconnect from the ipc daemon
  * @data -
  * @type - 
  * @event -
  */
 static int
-ipc_server_data(void *data, int type, void *event)
+_entrance_ipc_server_data(void *data, int type, void *event)
 {
    Ecore_Ipc_Event_Server_Data *e;
 
    e = (Ecore_Ipc_Event_Server_Data *) event;
-   printf("!! Client sent: [%i] [%i] (%i) \"%s\"\n", e->major, e->minor,
+   printf("_entrance_ipc_server_data: Received [%i] [%i] (%i) \"%s\"\n", e->major, 
e->minor,
           e->size, (char *) e->data);
-   return (1);
+   return TRUE;
 }
 
 /**
- * ipc_client_add - 
+ * _entrance_ipc_client_add - 
  * @data -
  * @type - 
  * @event -
  */
 static int
-ipc_client_add(void *data, int type, void *event)
+_entrance_ipc_client_add(void *data, int type, void *event)
 {
    Ecore_Ipc_Event_Client_Add *e;
 
    e = (Ecore_Ipc_Event_Client_Add *) event;
-   fprintf(stderr, "Client Connected!!!\n");
-   return (1);
+   fprintf(stderr, "_entrance_ipc_client_add: Received event\n");
+   return TRUE;
 }
 
 /**
- * ipc_client_del - 
+ * _entrance_ipc_client_del - 
  * @data -
  * @type - 
  * @event -
  */
 static int
-ipc_client_del(void *data, int type, void *event)
+_entrance_ipc_client_del(void *data, int type, void *event)
 {
    Ecore_Ipc_Event_Client_Del *e;
 
    e = (Ecore_Ipc_Event_Client_Del *) event;
-   fprintf(stderr, "Client Disconnected!!!\n");
-   return (1);
+   fprintf(stderr, "_entrance_ipc_client_del: Received event\n");
+   return TRUE;
 }
 
 /**
- * ipc_client_data - 
+ * _entrance_ipc_client_data - 
  * @data -
  * @type - 
  * @event -
  */
 static int
-ipc_client_data(void *data, int type, void *event)
+_entrance_ipc_client_data(void *data, int type, void *event)
 {
    Ecore_Ipc_Event_Client_Data *e;
 
    e = (Ecore_Ipc_Event_Client_Data *) event;
-   printf("!! Client sent: [%i] [%i] (%i) \"%s\"\n", e->major, e->minor,
+   printf("_entrance_ipc_client_data: Sent [%i] [%i] (%i) \"%s\"\n", e->major, 
e->minor,
           e->size, (char *) e->data);
-   return (1);
+   return TRUE;
 }
 
 /**
@@ -122,26 +122,36 @@
 {
    /* we definitely fail if we can't connect to ecore_ipc */
    if (ecore_ipc_init() < 1)
-      return (0);
+      return FALSE;
 
    if ((server =
-        ecore_ipc_server_add(ECORE_IPC_LOCAL_USER, IPC_TITLE, 0, NULL)))
+        ecore_ipc_server_connect(ECORE_IPC_LOCAL_USER, IPC_TITLE, 0, NULL)))
    {
-      ecore_event_handler_add(ECORE_IPC_EVENT_CLIENT_ADD, ipc_client_add,
-                              NULL);
-      ecore_event_handler_add(ECORE_IPC_EVENT_CLIENT_DEL, ipc_client_del,
-                              NULL);
-      ecore_event_handler_add(ECORE_IPC_EVENT_CLIENT_DATA, ipc_client_data,
-                              NULL);
-      ecore_event_handler_add(ECORE_IPC_EVENT_SERVER_DATA, ipc_server_data,
-                              NULL);
-      ecore_event_handler_add(ECORE_IPC_EVENT_SERVER_ADD, ipc_server_add,
-                              NULL);
-      ecore_event_handler_add(ECORE_IPC_EVENT_SERVER_DEL, ipc_server_del,
-                              NULL);
-      fprintf(stderr, "Listener Started\n");
-   }
-   return (1);
+      ecore_event_handler_add(ECORE_IPC_EVENT_CLIENT_ADD, 
+                              _entrance_ipc_client_add, NULL);
+      
+      ecore_event_handler_add(ECORE_IPC_EVENT_CLIENT_DEL,
+                              _entrance_ipc_client_del, NULL);
+      
+      ecore_event_handler_add(ECORE_IPC_EVENT_CLIENT_DATA,
+                              _entrance_ipc_client_data, NULL);
+      
+      ecore_event_handler_add(ECORE_IPC_EVENT_SERVER_DATA,
+                              _entrance_ipc_server_data, NULL);
+      
+      ecore_event_handler_add(ECORE_IPC_EVENT_SERVER_ADD,
+                              _entrance_ipc_server_add, NULL);
+      
+      ecore_event_handler_add(ECORE_IPC_EVENT_SERVER_DEL,
+                              _entrance_ipc_server_del, NULL);
+      
+      
+      fprintf(stderr, "entrance_ipc_init: Success\n");
+   } 
+   else
+      fprintf(stderr, "entrance_ipc_init: connect to daemon failed.\n");
+   
+   return TRUE;
 }
 
 void
@@ -151,4 +161,5 @@
       ecore_ipc_server_del(server);
    server = NULL;
    ecore_ipc_shutdown();
+   fprintf(stderr, "entrance_ipc_shutdown: Success\n");
 }
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/entrance/src/client/entrance_session.c,v
retrieving revision 1.43
retrieving revision 1.44
diff -u -3 -r1.43 -r1.44
--- entrance_session.c  23 Mar 2004 17:43:34 -0000      1.43
+++ entrance_session.c  25 Mar 2004 05:23:00 -0000      1.44
@@ -98,13 +98,25 @@
    if (e)
    {
       if (e->auth)
+      {
          entrance_auth_free(e->auth);
+         e->auth = NULL;
+      }
       if (e->config)
+      {
          entrance_config_free(e->config);
+         e->config = NULL;
+      }
       if (e->ee)
+      {
          ecore_evas_free(e->ee);
+         e->ee = NULL;
+      }
       if (e->session)
+      {
          free(e->session);
+         e->config = NULL;
+      }
 
       closelog();
 
@@ -298,8 +310,11 @@
 
    syslog(LOG_CRIT, "Executing %s", buf);
 
-   ecore_evas_free(e->ee);
-   e->ee = NULL;
+   if(e->ee)
+   {
+      ecore_evas_free(e->ee);
+      e->ee = NULL;
+   }
    ecore_evas_shutdown();
    ecore_x_sync();
 
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/entrance/src/client/main.c,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -3 -r1.45 -r1.46
--- main.c      23 Mar 2004 18:04:18 -0000      1.45
+++ main.c      25 Mar 2004 05:23:00 -0000      1.46
@@ -855,13 +855,16 @@
       entrance_session_run(session);
 
       if (session->authed)
+      {
          entrance_session_start_user_session(session);
+         entrance_session_free(session);
+      }
       else
       {
+         entrance_session_free(session);
          entrance_ipc_shutdown();
          ecore_evas_shutdown();
       }
-      entrance_session_free(session);
       edje_shutdown();
       ecore_x_shutdown();
       ecore_shutdown();




-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to