X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fconnection.c;h=e4c05f1de0fefb2bf42ffbc79fb82b9000d05bbd;hb=f00bd32b54ee3dd8fed73fdb3b8e78549837e174;hp=ac181309206ef63766c5767b03bbb9a2e731264f;hpb=9ec24f94f5b741ec7928b411dbf21eabdc99d73c;p=pazpar2-moved-to-github.git diff --git a/src/connection.c b/src/connection.c index ac18130..e4c05f1 100644 --- a/src/connection.c +++ b/src/connection.c @@ -132,28 +132,28 @@ static struct connection *connection_create(struct client *cl, int session_timeout, iochan_man_t iochan_man) { - struct connection *new; + struct connection *co; struct host *host = client_get_host(cl); - new = xmalloc(sizeof(*new)); - new->host = host; + co = xmalloc(sizeof(*co)); + co->host = host; - new->client = cl; - new->zproxy = 0; - client_set_connection(cl, new); - new->link = 0; - new->state = Conn_Resolving; - new->operation_timeout = operation_timeout; - new->session_timeout = session_timeout; + co->client = cl; + co->zproxy = 0; + client_set_connection(cl, co); + co->link = 0; + co->state = Conn_Resolving; + co->operation_timeout = operation_timeout; + co->session_timeout = session_timeout; if (host->ipport) - connection_connect(new, iochan_man); + connection_connect(co, iochan_man); yaz_mutex_enter(host->mutex); - new->next = new->host->connections; - new->host->connections = new; + co->next = co->host->connections; + co->host->connections = co; yaz_mutex_leave(host->mutex); - return new; + return co; } static void non_block_events(struct connection *co) @@ -275,17 +275,20 @@ static void connection_handler(IOCHAN iochan, int event) else { yaz_mutex_leave(host->mutex); + + client_lock(cl); non_block_events(co); ZOOM_connection_fire_event_socket(co->link, event); non_block_events(co); + client_unlock(cl); } } // Disassociate connection from client -void connection_release(struct connection *co) +static void connection_release(struct connection *co) { struct client *cl = co->client; @@ -436,11 +439,6 @@ static int connection_connect(struct connection *con, iochan_man_t iochan_man) return 0; } -const char *connection_get_url(struct connection *co) -{ - return client_get_url(co->client); -} - // Ensure that client has a connection associated int client_prep_connection(struct client *cl, int operation_timeout, int session_timeout,