summaryrefslogtreecommitdiffstats
path: root/server.c
diff options
context:
space:
mode:
authorNicholas Marriott <nicholas.marriott@gmail.com>2022-03-28 08:42:13 +0100
committerNicholas Marriott <nicholas.marriott@gmail.com>2022-03-28 08:42:13 +0100
commitfc7f1e7acb3539a43df46136e971f770515e0b0d (patch)
treeffe4d697936e4149d955bbfdf3805a9258804dda /server.c
parentd26a4ea463b96923bd93d95817f0fe78550c06ca (diff)
Add support for systemd socket activation (where systemd creates the Unix
domain socket for tmux rather than tmux creating it). Build with --enable-systemd. From Julien Moutinho in GitHub issue 3119.
Diffstat (limited to 'server.c')
-rw-r--r--server.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/server.c b/server.c
index 2db5a8d8..bf3a8361 100644
--- a/server.c
+++ b/server.c
@@ -100,7 +100,7 @@ server_check_marked(void)
}
/* Create server socket. */
-static int
+int
server_create_socket(int flags, char **cause)
{
struct sockaddr_un sa;
@@ -214,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)