diff options
Diffstat (limited to 'server.c')
-rw-r--r-- | server.c | 12 |
1 files changed, 9 insertions, 3 deletions
@@ -24,9 +24,7 @@ #include <sys/wait.h> #include <errno.h> -#include <event.h> #include <fcntl.h> -#include <paths.h> #include <signal.h> #include <stdio.h> #include <stdlib.h> @@ -102,7 +100,7 @@ server_check_marked(void) } /* Create server socket. */ -static int +int server_create_socket(int flags, char **cause) { struct sockaddr_un sa; @@ -161,6 +159,10 @@ server_tidy_event(__unused int fd, __unused short events, __unused void *data) format_tidy_jobs(); +#ifdef HAVE_MALLOC_TRIM + malloc_trim(0); +#endif + log_debug("%s: took %llu milliseconds", __func__, (unsigned long long)(get_timer() - t)); evtimer_add(&server_ev_tidy, &tv); @@ -212,7 +214,11 @@ server_start(struct tmuxproc *client, int flags, struct event_base *base, gettimeofday(&start_time, NULL); +#ifdef HAVE_SYSTEMD + server_fd = systemd_create_socket(flags, &cause); +#else server_fd = server_create_socket(flags, &cause); +#endif if (server_fd != -1) server_update_socket(); if (~flags & CLIENT_NOFORK) |