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>
This commit is contained in:
Reepca Russelstein 2025-06-26 01:28:02 -05:00 committed by Ludovic Courtès
parent 53b23512ee
commit 1ee291139f
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -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
}
}