From: Adam Dickmeiss Date: Fri, 6 Mar 2015 13:13:21 +0000 (+0100) Subject: Merge branch 'master' into paz-927 X-Git-Tag: v1.12.0~7 X-Git-Url: http://lists.indexdata.dk/cgi-bin?a=commitdiff_plain;h=7f0b4d88eca113e5eb0beac2046180e9ff9d08ea;hp=a5c3dee6eb34da90683db5ac0b0e4e876627496b;p=pazpar2-moved-to-github.git Merge branch 'master' into paz-927 --- diff --git a/src/client.c b/src/client.c index fc167e2..3e40467 100644 --- a/src/client.c +++ b/src/client.c @@ -543,27 +543,6 @@ static void ingest_raw_record(struct client *cl, ZOOM_record rec) client_show_raw_dequeue(cl); } -void client_check_preferred_watch(struct client *cl) -{ - struct session *se = cl->session; - yaz_log(YLOG_DEBUG, "client_check_preferred_watch: %s ", client_get_id(cl)); - if (se) - { - client_unlock(cl); - /* TODO possible threading issue. Session can have been destroyed */ - if (session_is_preferred_clients_ready(se)) { - session_alert_watch(se, SESSION_WATCH_SHOW_PREF); - } - else - yaz_log(YLOG_DEBUG, "client_check_preferred_watch: Still locked on preferred targets."); - - client_lock(cl); - } - else - yaz_log(YLOG_WARN, "client_check_preferred_watch: %s. No session!", client_get_id(cl)); - -} - struct suggestions* client_suggestions_create(const char* suggestions_string); static void client_suggestions_destroy(struct client *cl); @@ -603,6 +582,11 @@ void client_got_records(struct client *cl) struct session *se = cl->session; if (se) { + client_unlock(cl); + /* TODO possible threading issue. Session can have been destroyed */ + if (session_is_preferred_clients_ready(se)) + session_alert_watch(se, SESSION_WATCH_SHOW_PREF); + client_lock(cl); if (reclist_get_num_records(se->reclist) > 0) { client_unlock(cl); diff --git a/src/client.h b/src/client.h index 4d7fbf2..9a04180 100644 --- a/src/client.h +++ b/src/client.h @@ -105,7 +105,6 @@ void client_unlock(struct client *c); void client_stop(struct client *c); int client_has_facet(struct client *cl, const char *name); -void client_check_preferred_watch(struct client *cl); int client_reingest(struct client *cl); const char *client_get_facet_limit_local(struct client *cl, struct session_database *sdb, diff --git a/src/connection.c b/src/connection.c index c5fb671..98a73e0 100644 --- a/src/connection.c +++ b/src/connection.c @@ -246,10 +246,7 @@ static void non_block_events(struct connection *co) { struct client *cl = co->client; if (cl) - { - client_check_preferred_watch(cl); client_got_records(cl); - } } }