aboutsummaryrefslogtreecommitdiff
path: root/src/unix/proctitle.c
diff options
context:
space:
mode:
authorBen Noordhuis <info@bnoordhuis.nl>2019-10-08 12:47:16 +0200
committerBen Noordhuis <info@bnoordhuis.nl>2019-10-08 12:49:47 +0200
commit038eacfbf466f0b51e80b6f5fa9026c7ed767dfb (patch)
treebe514d7ae1d5725e4256920d8e4ef49136ad1136 /src/unix/proctitle.c
parente83dba7f936b541bd37ac549d89502ec466c5ccf (diff)
downloadlibuv-038eacfbf466f0b51e80b6f5fa9026c7ed767dfb.tar.gz
libuv-038eacfbf466f0b51e80b6f5fa9026c7ed767dfb.zip
darwin: speed up uv_set_process_title()
Libuv loaded and unloaded the Core Services and Application Services for every call to uv_set_process_title(). Change that to load them on the first call to uv_set_process_title() and delay unloading until libuv is unloaded. Speeds up process_title_threadsafe by about 10x on my system. It should fail less often (hopefully not at all) on the CI now. PR-URL: https://github.com/libuv/libuv/pull/2480 Reviewed-By: Saúl Ibarra Corretgé <s@saghul.net>
Diffstat (limited to 'src/unix/proctitle.c')
-rw-r--r--src/unix/proctitle.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/unix/proctitle.c b/src/unix/proctitle.c
index 1a8c7a70..a5ce2030 100644
--- a/src/unix/proctitle.c
+++ b/src/unix/proctitle.c
@@ -24,6 +24,7 @@
#include <stdlib.h>
#include <string.h>
+extern void uv__set_process_title_platform_init(void);
extern void uv__set_process_title(const char* title);
static uv_mutex_t process_title_mutex;
@@ -38,6 +39,9 @@ static struct {
static void init_process_title_mutex_once(void) {
uv_mutex_init(&process_title_mutex);
+#ifdef __APPLE__
+ uv__set_process_title_platform_init();
+#endif
}