diff options
author | Ben Noordhuis <info@bnoordhuis.nl> | 2019-10-08 12:47:16 +0200 |
---|---|---|
committer | Ben Noordhuis <info@bnoordhuis.nl> | 2019-10-08 12:49:47 +0200 |
commit | 038eacfbf466f0b51e80b6f5fa9026c7ed767dfb (patch) | |
tree | be514d7ae1d5725e4256920d8e4ef49136ad1136 /src/unix/proctitle.c | |
parent | e83dba7f936b541bd37ac549d89502ec466c5ccf (diff) | |
download | libuv-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.c | 4 |
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 } |