mirror of
https://github.com/tmux/tmux.git
synced 2024-12-24 01:58:46 +00:00
Do not attempt to connect to the socket as a client if systemd is active, from
Julien Moutinho in GitHub issue 3345.
This commit is contained in:
parent
934f357149
commit
5ce34add77
6
client.c
6
client.c
@ -284,6 +284,12 @@ client_main(struct event_base *base, int argc, char **argv, uint64_t flags,
|
||||
log_debug("flags are %#llx", (unsigned long long)client_flags);
|
||||
|
||||
/* Initialize the client socket and start the server. */
|
||||
#ifdef HAVE_SYSTEMD
|
||||
if (systemd_activated()) {
|
||||
/* socket-based activation, do not even try to be a client. */
|
||||
fd = server_start(client_proc, flags, base, 0, NULL);
|
||||
} else
|
||||
#endif
|
||||
fd = client_connect(base, socket_path, client_flags);
|
||||
if (fd == -1) {
|
||||
if (errno == ECONNREFUSED) {
|
||||
|
1
compat.h
1
compat.h
@ -423,6 +423,7 @@ void *recallocarray(void *, size_t, size_t, size_t);
|
||||
|
||||
#ifdef HAVE_SYSTEMD
|
||||
/* systemd.c */
|
||||
int systemd_activated(void);
|
||||
int systemd_create_socket(int, char **);
|
||||
#endif
|
||||
|
||||
|
@ -25,6 +25,12 @@
|
||||
|
||||
#include "tmux.h"
|
||||
|
||||
int
|
||||
systemd_activated(void)
|
||||
{
|
||||
return (sd_listen_fds(0) >= 1);
|
||||
}
|
||||
|
||||
int
|
||||
systemd_create_socket(int flags, char **cause)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user