From b069decfcd8479ef0c93550667556c96738b07b9 Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Sat, 17 May 2014 11:11:47 +1000 Subject: Don't sleep to wait for reconnecting, use a timer instead. --- src/libraries/SledjHamr.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'src/libraries/SledjHamr.c') diff --git a/src/libraries/SledjHamr.c b/src/libraries/SledjHamr.c index 17b7610..26df012 100644 --- a/src/libraries/SledjHamr.c +++ b/src/libraries/SledjHamr.c @@ -32,16 +32,23 @@ static Eina_Bool _add(void *data, int type, Ecore_Con_Event_Server_Del *ev) return ECORE_CALLBACK_RENEW; } +static Eina_Bool _delTimer(void *data) +{ + struct _conct *this = data; + + reachOut(this->address, this->port, this->pointer, this->addCb, this->dataCb, this->delCb); + return ECORE_CALLBACK_CANCEL; +} + static Eina_Bool _del(void *data, int type, Ecore_Con_Event_Server_Del *ev) { struct _conct *this = data; - printf("FAILED to connect to server %s:%d, trying again!\n", this->address, this->port); + printf("FAILED to connect to server %s:%d, trying again in a second!\n", this->address, this->port); ecore_event_handler_del(this->add); ecore_event_handler_del(this->del); if (ev->server) ecore_con_server_del(ev->server); - sleep(1); - reachOut(this->address, this->port, this->pointer, this->addCb, this->dataCb, this->delCb); + ecore_timer_add(1.0, _delTimer, this); return ECORE_CALLBACK_CANCEL; } -- cgit v1.1