From 678036e697ee734e718d864b20c3a7649af1e9a4 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Thu, 18 Aug 2022 19:46:30 +0100 Subject: [PATCH] prefork-interp: make fake pair later Signed-off-by: Ian Jackson --- cprogs/prefork-interp.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cprogs/prefork-interp.c b/cprogs/prefork-interp.c index 429790a..9eb5aa1 100644 --- a/cprogs/prefork-interp.c +++ b/cprogs/prefork-interp.c @@ -398,10 +398,6 @@ static void connect_or_spawn(void) { if (r<0 && errno!=ENOENT) diee("failed to remove stale socket %s", socket_path); - int fake_pair[2]; - r = socketpair(AF_UNIX, SOCK_STREAM, 0, fake_pair); - if (r<0) diee("socketpair() for fake initial connection"); - int sfd = socket(AF_UNIX, SOCK_STREAM, 0); if (sfd<0) diee("socket() for new listener"); @@ -416,6 +412,10 @@ static void connect_or_spawn(void) { r = listen(sfd, INT_MAX); if (r<0) diee("listen() for new listener"); + int fake_pair[2]; + r = socketpair(AF_UNIX, SOCK_STREAM, 0, fake_pair); + if (r<0) diee("socketpair() for fake initial connection"); + pid_t setup_pid = fork(); if (setup_pid == (pid_t)-1) diee("fork for spawn setup"); if (!setup_pid) become_setup(sfd, fake_pair); -- 2.30.2