hi and thanks for the reply! does it work for you with or without using event_active?
On Tue, 19 Nov 2013 22:38:39 -0800, Himanshu S wrote: > Hi, > I have been using libevent for exactly same purpose as you have described and > works fine. Once I detect the connection has gone down, ( I don't use timer > though, just use the read callback and read fails), I don't connect > immediately. I invoke a timer of 1 sec or so and then try connect. Do you > check the return code for connect to make sure it is successful? Maybe your > connect is actually failing since TCP connection is not fully closed yet. > > > On Tue, Nov 5, 2013 at 10:59 PM, Goetz T. Fischer <[email protected]> > wrote: >> good morning/evening/afternoon, whatever matches your timezone :-) >> >> i've been scratching my head over one issue for some time and couldn't find >> anything helpful on the net either so here's my last resort i hope. >> >> i have a unix/c program using, surprise, libevent. it runs 3 events, a tcp >> client, a tcp listener and a timer. everything works fine. the problem now is >> that the server to which i connect the tcp client event drops out >> occasionally. >> because of that i added the timer event to do checks. that works fine, too. >> now if i notice that the server is down i want to reconnect without killing >> the >> event loop so that the listener is not affected. what i do in case of a >> disconnect is close the socket, event_del, event_free. after that i connect >> the >> socket again and then add the event the same way as i do when the programs >> starts: >> evutil_make_socket_nonblocking(so); >> client = event_new(base, so, EV_READ|EV_PERSIST, incoming, (void *)base); >> event_add(client, NULL); >> >> at this point nothing comes in at all so i tried event_active(client, NULL, >> NULL) which only works for a second or so meaning i get 3 lines and nothing >> after that. >> now the big question is is it possible to add an event while the main loop is >> running? and if so what did i miss? >> >> >> any sort of hints would be very much appreciated :-) >> >> >> -- >> ah-consulting.net >> Götz T. Fischer CertIT&Comp >> Senior Consultant >> Phone: +49(0)7225/98 98 79 >> eMail: [email protected] >> http://www.ah-consulting.net >> http://www.ah-webhosting.com >> *********************************************************************** >> To unsubscribe, send an e-mail to [email protected] with >> unsubscribe libevent-users in the body. > -- ah-consulting.net Götz T. Fischer CertIT&Comp Senior Consultant Phone: +49(0)7225/98 98 79 eMail: [email protected] http://www.ah-consulting.net http://www.ah-webhosting.com *********************************************************************** To unsubscribe, send an e-mail to [email protected] with unsubscribe libevent-users in the body.
