tasn pushed a commit to branch master.
commit 9a06a9b4331aed921ff3570f2ce3e3260b806684
Author: Tom Hacohen <[email protected]>
Date: Tue May 21 14:11:19 2013 +0100
Actually disconnect clouseau clients when requested.
---
src/lib/clouseau_app.c | 20 +++++++++++++++-----
1 file changed, 15 insertions(+), 5 deletions(-)
diff --git a/src/lib/clouseau_app.c b/src/lib/clouseau_app.c
index 6ae891d..e78d548 100644
--- a/src/lib/clouseau_app.c
+++ b/src/lib/clouseau_app.c
@@ -3,6 +3,8 @@
#include <Elementary.h>
#include <Ecore_X.h>
+static Ecore_Con_Server *econ_server = NULL;
+static Ecore_Con_Eet *eet_svr = NULL;
static Eina_Stringshare *_my_appname = NULL;
static Clouseau_Object *_clouseau_object_information_get(Clouseau_Tree_Item
*treeit);
@@ -400,21 +402,25 @@ _msg_from_daemon(void *data, int type EINA_UNUSED, void
*event)
if (!strncmp(msg->data, CLOUSEAUD_READY_STR, sizeof(CLOUSEAUD_READY_STR)))
{
- Ecore_Con_Server *server;
const char *address = LOCALHOST;
- Ecore_Con_Eet *eet_svr = NULL;
- server = ecore_con_server_connect(ECORE_CON_REMOTE_TCP,
+ if (eet_svr)
+ {
+ fprintf(stderr, "Clouseau: Trying to connect to daemon although
already supposedly connected. Error.\n");
+ return ECORE_CALLBACK_DONE;
+ }
+
+ econ_server = ecore_con_server_connect(ECORE_CON_REMOTE_TCP,
LOCALHOST, PORT, NULL);
- if (!server)
+ if (!econ_server)
{
printf("could not connect to the server: %s, port %d.\n",
address, PORT);
return ECORE_CALLBACK_DONE;
}
- eet_svr = ecore_con_eet_client_new(server);
+ eet_svr = ecore_con_eet_client_new(econ_server);
if (!eet_svr)
{
printf("could not create con_eet client.\n");
@@ -442,6 +448,10 @@ _msg_from_daemon(void *data, int type EINA_UNUSED, void
*event)
void
clouseau_app_disconnect(void)
{
+ ecore_con_server_del(econ_server);
+ econ_server = NULL;
+ ecore_con_eet_server_free(eet_svr);
+ eet_svr = NULL;
}
EAPI Eina_Bool
--
------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may