X-Git-Url: http://lists.indexdata.com/cgi-bin?a=blobdiff_plain;f=src%2Fconnection.c;h=4ca648edf1fc101132c446b7343045b01ff39c54;hb=03e77a36926d8db74ac218397ddce9ccf181a4d9;hp=e4c05f1de0fefb2bf42ffbc79fb82b9000d05bbd;hpb=e20a024ae2ec8f81b4520ac811b215c9a9ed403d;p=pazpar2-moved-to-github.git diff --git a/src/connection.c b/src/connection.c index e4c05f1..4ca648e 100644 --- a/src/connection.c +++ b/src/connection.c @@ -239,10 +239,11 @@ void connection_continue(struct connection *co) static void connection_handler(IOCHAN iochan, int event) { struct connection *co = iochan_getdata(iochan); - struct client *cl = co->client; + struct client *cl; struct host *host = co->host; yaz_mutex_enter(host->mutex); + cl = co->client; if (!cl) { /* no client associated with it.. We are probably getting @@ -258,8 +259,8 @@ static void connection_handler(IOCHAN iochan, int event) { yaz_log(YLOG_WARN, "connect timeout %s", client_get_url(cl)); - connection_destroy(co); client_set_state(cl, Client_Error); + connection_destroy(co); } else if (client_get_state(co->client) == Client_Idle) {