emacs: Fix socket activation

This commit is contained in:
Rodney Lorrimar 2023-11-09 17:27:45 +08:00 committed by Robert Helgesson
parent 47226ec7e7
commit f5182ffc42
No known key found for this signature in database
GPG key ID: 36BDAA14C2797E89
2 changed files with 15 additions and 1 deletions

View file

@ -205,9 +205,21 @@ in {
FileDescriptorName = "server"; FileDescriptorName = "server";
SocketMode = "0600"; SocketMode = "0600";
DirectoryMode = "0700"; DirectoryMode = "0700";
# This prevents the service from immediately starting again
# after being stopped, due to the function
# `server-force-stop' present in `kill-emacs-hook', which
# calls `server-running-p', which opens the socket file.
FlushPending = true;
}; };
Install = { WantedBy = [ "sockets.target" ]; }; Install = {
WantedBy = [ "sockets.target" ];
# Adding this Requires= dependency ensures that systemd
# manages the socket file, in the case where the service is
# started when the socket is stopped.
# The socket unit is implicitly ordered before the service.
RequiredBy = [ "emacs.service" ];
};
}; };
}) })
]); ]);

View file

@ -1,9 +1,11 @@
[Install] [Install]
RequiredBy=emacs.service
WantedBy=sockets.target WantedBy=sockets.target
[Socket] [Socket]
DirectoryMode=0700 DirectoryMode=0700
FileDescriptorName=server FileDescriptorName=server
FlushPending=true
ListenStream=%t/emacs/server ListenStream=%t/emacs/server
SocketMode=0600 SocketMode=0600