aboutsummaryrefslogtreecommitdiff
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-04-06 14:19:52 +0100
commit1c69a91c25654339a0e670ed5a1495d52b37eb8e (patch)
treea55101c3181c5a776e68833f032d16cd534fe444 /server.c
parent98de5784a0a35681b736dc11bb6758a08d428562 (diff)
downloadrtmux-1c69a91c25654339a0e670ed5a1495d52b37eb8e.tar.gz
rtmux-1c69a91c25654339a0e670ed5a1495d52b37eb8e.tar.bz2
rtmux-1c69a91c25654339a0e670ed5a1495d52b37eb8e.zip
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)