summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorReepca Russelstein <reepca@russelstein.xyz>2025-06-26 01:28:02 -0500
committerLudovic Courtès <ludo@gnu.org>2025-06-26 15:41:57 +0200
commit1ee291139fcb05335961562cf1baa1aa632c2abf (patch)
treea3674bbe0916d3967eccf3426b2e5eb9f9f1ec43
parent53b23512ee32b92ae6376ea80e9e1f56aeaf0ce0 (diff)
daemon: Fix build of spawn.cc for non-Linux and newer GCC.
* nix/libutil/spawn.cc: Include <fcntl.h> and <cstdint>. (cloneChild): Wrap body in #if CLONE_ENABLED. Change-Id: I0be7e6dbe80ac2f7022793149472270a4e49d23c Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r--nix/libutil/spawn.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/nix/libutil/spawn.cc b/nix/libutil/spawn.cc
index 414849b6f0..2e3e1ac1a7 100644
--- a/nix/libutil/spawn.cc
+++ b/nix/libutil/spawn.cc
@@ -26,8 +26,10 @@
#include <grp.h>
#include <limits.h>
#include <sys/wait.h>
+#include <fcntl.h>
#include <cstring>
#include <cstdlib>
+#include <cstdint>
#if HAVE_SYS_MOUNT_H
#include <sys/mount.h>
@@ -852,6 +854,7 @@ int runChildSetupEntry(void *data)
int cloneChild(CloneSpawnContext & ctx)
{
+#if CLONE_ENABLED
char stack[32 * 1024];
/* Ensure proper alignment on the stack. On aarch64, it has to be 16
bytes. */
@@ -860,6 +863,10 @@ int cloneChild(CloneSpawnContext & ctx)
if(ret == -1)
throw SysError("clone");
return ret;
+#else
+ throw Error("clone not supported on this platform");
+#endif
}
+
}