X-Git-Url: http://lists.indexdata.dk/cgi-bin?a=blobdiff_plain;f=src%2Fsession.c;h=ea0924993bba8f0f59338b08dbf1d59e83d8e6da;hb=b667495a906ab6c565fbf37149a9825a540736a4;hp=1dc3adfad98511304b81fab58ad5e915250163e2;hpb=b3b1946b82bece8b3aa5dedbab43afd24cfa9597;p=pazpar2-moved-to-github.git diff --git a/src/session.c b/src/session.c index 1dc3adf..ea09249 100644 --- a/src/session.c +++ b/src/session.c @@ -436,7 +436,7 @@ void session_alert_watch(struct session *s, int what) session_watchfun fun; http_remove_observer(s->watchlist[what].obs); - fun = s->watchlist[what].fun; + fun = s->watchlist[what].fun; data = s->watchlist[what].data; /* reset watch before fun is invoked - in case fun wants to set @@ -509,6 +509,19 @@ int session_active_clients(struct session *s) return res; } +int session_preferred_clients_ready(struct session *s) +{ + struct client_list *l; + int res = 0; + + for (l = s->clients; l; l = l->next) + if (client_is_active_preferred(l->client)) + res++; + + return res == 0; +} + + enum pazpar2_error_code search(struct session *se, const char *query, @@ -724,7 +737,7 @@ struct session *new_session(NMEM nmem, struct conf_service *service, } session->normalize_cache = normalize_cache_create(); session->session_mutex = 0; - pazpar2_mutex_create_flag(&session->session_mutex, name, PTHREAD_MUTEX_RECURSIVE); + pazpar2_mutex_create(&session->session_mutex, name); return session; }