summaryrefslogtreecommitdiffstats
path: root/client.c
diff options
context:
space:
mode:
authorNicholas Marriott <nicholas.marriott@gmail.com>2022-10-18 15:58:06 +0100
committerNicholas Marriott <nicholas.marriott@gmail.com>2022-10-18 15:58:06 +0100
commit5ce34add77fa3517a01e63b915c5f4e3241af470 (patch)
treeee5e13606e15ad4d8c2154e3334c8b2711dc34f8 /client.c
parent934f357149dba903f091237e7ea7c7ba78471614 (diff)
Do not attempt to connect to the socket as a client if systemd is active, from
Julien Moutinho in GitHub issue 3345.
Diffstat (limited to 'client.c')
-rw-r--r--client.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/client.c b/client.c
index df6cee94..7f712ffb 100644
--- a/client.c
+++ b/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) {