summaryrefslogtreecommitdiffstats
path: root/web/server/web_client_cache.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--web/server/web_client_cache.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/web/server/web_client_cache.c b/web/server/web_client_cache.c
index 5aa3af22e..364fc76b3 100644
--- a/web/server/web_client_cache.c
+++ b/web/server/web_client_cache.c
@@ -91,20 +91,19 @@ struct web_client *web_client_get_from_cache(void) {
// get it from avail
DOUBLE_LINKED_LIST_REMOVE_ITEM_UNSAFE(web_clients_cache.avail.head, w, cache.prev, cache.next);
web_clients_cache.avail.count--;
- spinlock_unlock(&web_clients_cache.avail.spinlock);
+ spinlock_unlock(&web_clients_cache.avail.spinlock);
web_client_reuse_from_cache(w);
-
spinlock_lock(&web_clients_cache.used.spinlock);
+
web_clients_cache.used.reused++;
}
else {
spinlock_unlock(&web_clients_cache.avail.spinlock);
-
- // allocate it
w = web_client_create(&netdata_buffers_statistics.buffers_web);
-
spinlock_lock(&web_clients_cache.used.spinlock);
+
+ w->id = global_statistics_web_client_connected();
web_clients_cache.used.allocated++;
}
@@ -115,8 +114,8 @@ struct web_client *web_client_get_from_cache(void) {
// initialize it
w->use_count++;
- w->id = global_statistics_web_client_connected();
w->mode = WEB_CLIENT_MODE_GET;
+ memset(w->transaction, 0, sizeof(w->transaction));
return w;
}