aboutsummaryrefslogtreecommitdiff
path: root/src/unix
diff options
context:
space:
mode:
Diffstat (limited to 'src/unix')
-rw-r--r--src/unix/aix.c2
-rw-r--r--src/unix/bsd-proctitle.c7
-rw-r--r--src/unix/internal.h2
-rw-r--r--src/unix/no-proctitle.c3
-rw-r--r--src/unix/proctitle.c2
-rw-r--r--src/unix/signal.c4
6 files changed, 14 insertions, 6 deletions
diff --git a/src/unix/aix.c b/src/unix/aix.c
index 417ee551..6b4594b4 100644
--- a/src/unix/aix.c
+++ b/src/unix/aix.c
@@ -926,7 +926,7 @@ int uv_get_process_title(char* buffer, size_t size) {
}
-UV_DESTRUCTOR(static void free_args_mem(void)) {
+void uv__process_title_cleanup(void) {
uv__free(args_mem); /* Keep valgrind happy. */
args_mem = NULL;
}
diff --git a/src/unix/bsd-proctitle.c b/src/unix/bsd-proctitle.c
index 0ce47c8f..723b81c0 100644
--- a/src/unix/bsd-proctitle.c
+++ b/src/unix/bsd-proctitle.c
@@ -37,6 +37,13 @@ static void init_process_title_mutex_once(void) {
}
+void uv__process_title_cleanup(void) {
+ /* TODO(bnoordhuis) uv_mutex_destroy(&process_title_mutex)
+ * and reset process_title_mutex_once?
+ */
+}
+
+
char** uv_setup_args(int argc, char** argv) {
process_title = argc > 0 ? uv__strdup(argv[0]) : NULL;
return argv;
diff --git a/src/unix/internal.h b/src/unix/internal.h
index 598554b6..402ee877 100644
--- a/src/unix/internal.h
+++ b/src/unix/internal.h
@@ -106,10 +106,8 @@ int uv__pthread_sigmask(int how, const sigset_t* set, sigset_t* oset);
#if defined(__clang__) || \
defined(__GNUC__) || \
defined(__INTEL_COMPILER)
-# define UV_DESTRUCTOR(declaration) __attribute__((destructor)) declaration
# define UV_UNUSED(declaration) __attribute__((unused)) declaration
#else
-# define UV_DESTRUCTOR(declaration) declaration
# define UV_UNUSED(declaration) declaration
#endif
diff --git a/src/unix/no-proctitle.c b/src/unix/no-proctitle.c
index 165740ca..32aa0af1 100644
--- a/src/unix/no-proctitle.c
+++ b/src/unix/no-proctitle.c
@@ -29,6 +29,9 @@ char** uv_setup_args(int argc, char** argv) {
return argv;
}
+void uv__process_title_cleanup(void) {
+}
+
int uv_set_process_title(const char* title) {
return 0;
}
diff --git a/src/unix/proctitle.c b/src/unix/proctitle.c
index d124d3c7..4ee991fc 100644
--- a/src/unix/proctitle.c
+++ b/src/unix/proctitle.c
@@ -145,7 +145,7 @@ int uv_get_process_title(char* buffer, size_t size) {
}
-UV_DESTRUCTOR(static void free_args_mem(void)) {
+void uv__process_title_cleanup(void) {
uv__free(args_mem); /* Keep valgrind happy. */
args_mem = NULL;
}
diff --git a/src/unix/signal.c b/src/unix/signal.c
index 1e7e8ac5..1c83e095 100644
--- a/src/unix/signal.c
+++ b/src/unix/signal.c
@@ -77,7 +77,7 @@ static void uv__signal_global_init(void) {
}
-UV_DESTRUCTOR(static void uv__signal_global_fini(void)) {
+void uv__signal_cleanup(void) {
/* We can only use signal-safe functions here.
* That includes read/write and close, fortunately.
* We do all of this directly here instead of resetting
@@ -98,7 +98,7 @@ UV_DESTRUCTOR(static void uv__signal_global_fini(void)) {
static void uv__signal_global_reinit(void) {
- uv__signal_global_fini();
+ uv__signal_cleanup();
if (uv__make_pipe(uv__signal_lock_pipefd, 0))
abort();