[libsoup] io-http2: use GOnce to initialize the invalid headers hash set



commit f23729b6753b4ece0444690049d5add7ad3f6b3c
Author: Carlos Garcia Campos <cgarcia igalia com>
Date:   Thu May 20 18:25:30 2021 +0200

    io-http2: use GOnce to initialize the invalid headers hash set

 libsoup/http2/soup-client-message-io-http2.c | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)
---
diff --git a/libsoup/http2/soup-client-message-io-http2.c b/libsoup/http2/soup-client-message-io-http2.c
index 6d9cbad6..5467e238 100644
--- a/libsoup/http2/soup-client-message-io-http2.c
+++ b/libsoup/http2/soup-client-message-io-http2.c
@@ -774,13 +774,17 @@ request_header_is_valid (const char *name)
 {
         static GHashTable *invalid_request_headers = NULL;
 
-        if (!invalid_request_headers) {
-                invalid_request_headers = g_hash_table_new (soup_str_case_hash, soup_str_case_equal);
-                g_hash_table_add (invalid_request_headers, "Connection");
-                g_hash_table_add (invalid_request_headers, "Keep-Alive");
-                g_hash_table_add (invalid_request_headers, "Proxy-Connection");
-                g_hash_table_add (invalid_request_headers, "Transfer-Encoding");
-                g_hash_table_add (invalid_request_headers, "Upgrade");
+        if (g_once_init_enter (&invalid_request_headers)) {
+                GHashTable *headers;
+
+                headers= g_hash_table_new (soup_str_case_hash, soup_str_case_equal);
+                g_hash_table_add (headers, "Connection");
+                g_hash_table_add (headers, "Keep-Alive");
+                g_hash_table_add (headers, "Proxy-Connection");
+                g_hash_table_add (headers, "Transfer-Encoding");
+                g_hash_table_add (headers, "Upgrade");
+
+                g_once_init_leave (&invalid_request_headers, headers);
         }
 
         return !g_hash_table_contains (invalid_request_headers, name);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]