session/client counting utils to header
authorAdam Dickmeiss <adam@indexdata.dk>
Tue, 28 May 2013 08:18:54 +0000 (10:18 +0200)
committerAdam Dickmeiss <adam@indexdata.dk>
Tue, 28 May 2013 08:18:54 +0000 (10:18 +0200)
src/client.c
src/client.h
src/http_command.c
src/session.c
src/session.h

index a7649b4..662937f 100644 (file)
@@ -90,14 +90,7 @@ static int client_use(int delta)
 
 int clients_count(void)
 {
-    int total = 0;
-    if (g_mutex)
-    {
-        yaz_mutex_enter(g_mutex);
-        total = no_clients;
-        yaz_mutex_leave(g_mutex);
-    }
-    return total;
+    return client_use(0);
 }
 
 /** \brief Represents client state for a connection to one search target */
index 64fcafc..550eabe 100644 (file)
@@ -40,6 +40,7 @@ enum client_state
     Client_Disconnected
 };
 
+int clients_count(void);
 int client_show_raw_begin(struct client *cl, int position,
                           const char *syntax, const char *esn,
                           void *data,
index 3ab415c..474a8a2 100644 (file)
@@ -687,8 +687,6 @@ static void cmd_session_status(struct http_channel *c)
     release_session(c, s);
 }
 
-int sessions_count(void);
-int clients_count(void);
 #ifdef HAVE_RESULTSETS_COUNT
 int resultsets_count(void);
 #else
index 00af02f..b0fbfa1 100644 (file)
@@ -97,7 +97,6 @@ struct client_list {
 /* session counting (1) , disable client counting (0) */
 static YAZ_MUTEX g_session_mutex = 0;
 static int no_sessions = 0;
-static int no_session_total = 0;
 
 static int session_use(int delta)
 {
@@ -106,8 +105,6 @@ static int session_use(int delta)
         yaz_mutex_create(&g_session_mutex);
     yaz_mutex_enter(g_session_mutex);
     no_sessions += delta;
-    if (delta > 0)
-        no_session_total += delta;
     sessions = no_sessions;
     yaz_mutex_leave(g_session_mutex);
     yaz_log(YLOG_DEBUG, "%s sessions=%d", delta == 0 ? "" : (delta > 0 ? "INC" : "DEC"), no_sessions);
@@ -119,17 +116,6 @@ int sessions_count(void)
     return session_use(0);
 }
 
-int session_count_total(void)
-{
-    int total = 0;
-    if (!g_session_mutex)
-        return 0;
-    yaz_mutex_enter(g_session_mutex);
-    total = no_session_total;
-    yaz_mutex_leave(g_session_mutex);
-    return total;
-}
-
 static void log_xml_doc(xmlDoc *doc)
 {
     FILE *lf = yaz_log_file();
index d51f5bb..732efbc 100644 (file)
@@ -157,6 +157,7 @@ struct hitsbytarget {
 struct hitsbytarget *get_hitsbytarget(struct session *s, int *count, NMEM nmem);
 struct session *new_session(NMEM nmem, struct conf_service *service,
                             unsigned session_id);
+int sessions_count(void);
 void session_destroy(struct session *s);
 void session_init_databases(struct session *s);
 void statistics(struct session *s, struct statistics *stat);