From c49b7472eaa7a6501aa937b40f80702ecf0f43e6 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 10 Feb 2023 16:32:30 +0100 Subject: [PATCH] Fix macOS build --- src/libutil/util.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/libutil/util.cc b/src/libutil/util.cc index 94da37561..795b66dc3 100644 --- a/src/libutil/util.cc +++ b/src/libutil/util.cc @@ -1085,6 +1085,7 @@ pid_t startProcess(std::function fun, const ProcessOptions & options) pid_t pid = -1; if (options.cloneFlags) { + #ifdef __linux__ // Not supported, since then we don't know when to free the stack. assert(!(options.cloneFlags & CLONE_VM)); @@ -1096,6 +1097,9 @@ pid_t startProcess(std::function fun, const ProcessOptions & options) Finally freeStack([&]() { munmap(stack, stackSize); }); pid = clone(childEntry, stack + stackSize, options.cloneFlags | SIGCHLD, &wrapper); + #else + throw Error("clone flags are only supported on Linux"); + #endif } else pid = doFork(options.allowVfork, wrapper);