From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server-vie001.gnuweeb.org X-Spam-Level: X-Spam-Status: No, score=-1.2 required=5.0 tests=ALL_TRUSTED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,URIBL_DBL_BLOCKED_OPENDNS, URIBL_ZEN_BLOCKED_OPENDNS autolearn=ham autolearn_force=no version=3.4.6 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gnuweeb.org; s=new2025; t=1765823004; bh=kFNJQ+rvu3oBXEu7j4kmkNSWY0ri9gXA36LHytfQaIs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Transfer-Encoding:Message-ID:Date:From: Reply-To:Subject:To:Cc:In-Reply-To:References:Resent-Date: Resent-From:Resent-To:Resent-Cc:User-Agent:Content-Type: Content-Transfer-Encoding; b=C6J9+fnqYozgDfObAuBAwl6Za2O7cn/O8oBHBmc06BWfK+8kkCFpf15+zE6hQ1vRF hhyDJ62wM7zJ1ogPTOG7jp5XkfH4YybbCHRljHl/M/JNWjt4BzUr7CsKzrdkCfTPKE 22Z8W7m5M/JVy4JoNDpftGmsuJ5toi3FU885k4o+lH7pcDtTgXBPWnN+oO+FrjguA5 eolNoPGaxmxUNMlRcB12P0L23eNnYpBQRyUmIhcWAE+XIkdIjFrGt89XQm0KJPUu0c MRx76aUfcTNPz2IUiISrqnwBfXqNRn/v2LHVDGRqcHYgjbpJJaiRTgOQaEZzzbsBSC jQrzebPgjzjBg== Received: from kanazawa.tail3212ad.ts.net (unknown [125.165.188.218]) by server-vie001.gnuweeb.org (Postfix) with ESMTPSA id 3B4943204D50; Mon, 15 Dec 2025 18:23:22 +0000 (UTC) From: Muhammad Rizki To: Ammar Faizi Cc: Muhammad Rizki , Alviro Iskandar Setiawan , GNU/Weeb Mailing List Subject: [PATCH v1 2/4] core:lib: fix memory leak and reduce threads Date: Tue, 16 Dec 2025 01:23:04 +0700 Message-ID: <20251215182308.48766-3-kiizuha@gnuweeb.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251215182308.48766-1-kiizuha@gnuweeb.org> References: <20251215182308.48766-1-kiizuha@gnuweeb.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: This commit fixes a memory leak in the lib/curl.c file where the `current_thread_curl_handle` keeps creating a new thread cURL handles overtime. This commit also reduces the number of threads and max pending works in core/ring.c. Signed-off-by: Muhammad Rizki Tested-by: Muhammad Rizki Reported-by: Muhammad Rizki --- core/ring.c | 4 ++-- lib/curl.c | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/core/ring.c b/core/ring.c index 9497cfd..fedec52 100644 --- a/core/ring.c +++ b/core/ring.c @@ -25,8 +25,8 @@ int gw_ring_init(struct gw_ring *ring, uint32_t size) .name = "gw-ring-wq", .flags = WQ_F_LAZY_THREAD_CREATION, .max_threads = 1024u, - .min_threads = 32u, - .max_pending_works = 4096u, + .min_threads = 1u, + .max_pending_works = 128u, }; uint32_t max = 2u; int ret; diff --git a/lib/curl.c b/lib/curl.c index 09745d0..78606b9 100644 --- a/lib/curl.c +++ b/lib/curl.c @@ -29,7 +29,7 @@ int gw_curl_global_init(long flags) if (curl_global_init(flags) != CURLE_OK) return -ENOMEM; - + cd = malloc(sizeof(*g_gw_curl_data)); if (!cd) { ret = -ENOMEM; @@ -108,6 +108,8 @@ void *gw_curl_thread_init(void) return NULL; } } + + current_thread_curl_handle = ret; cd->handles[cd->nr_handles++] = ret; mutex_unlock(&cd->mutex); return ret; -- Muhammad Rizki