From e43eb667b5e0cace1eef4b6f5898de83cde262c6 Mon Sep 17 00:00:00 2001 From: Ben Noordhuis Date: Mon, 17 Jan 2022 12:55:41 +0100 Subject: [PATCH] bsd: ensure mutex is initialized (#3428) The process title mutex was destroyed on library unload without ensuring it was initialized - and it may not be because it's initialized lazily. On most platforms it worked by accident because an "all zeroes" mutex is synonymous with an initialized and unlocked mutex, but not on NetBSD. Refs: https://github.com/libuv/libuv/pull/3286#issuecomment-1014058782 --- src/unix/bsd-proctitle.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/unix/bsd-proctitle.c b/src/unix/bsd-proctitle.c index 4f4e9e51..b0c01e2c 100644 --- a/src/unix/bsd-proctitle.c +++ b/src/unix/bsd-proctitle.c @@ -38,6 +38,7 @@ static void init_process_title_mutex_once(void) { void uv__process_title_cleanup(void) { + uv_once(&process_title_mutex_once, init_process_title_mutex_once); uv_mutex_destroy(&process_title_mutex); }