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