forked from lix-project/lix
libstore: mmap() returns MAP_FAILED, not NULL on failure
This commit is contained in:
parent
71a93a5f0e
commit
f770b9e6c5
|
@ -2175,7 +2175,7 @@ void DerivationGoal::startBuilder()
|
||||||
size_t stackSize = 1 * 1024 * 1024;
|
size_t stackSize = 1 * 1024 * 1024;
|
||||||
char * stack = (char *) mmap(0, stackSize,
|
char * stack = (char *) mmap(0, stackSize,
|
||||||
PROT_WRITE | PROT_READ, MAP_PRIVATE | MAP_ANONYMOUS | MAP_STACK, -1, 0);
|
PROT_WRITE | PROT_READ, MAP_PRIVATE | MAP_ANONYMOUS | MAP_STACK, -1, 0);
|
||||||
if (!stack) throw SysError("allocating stack");
|
if (stack == MAP_FAILED) throw SysError("allocating stack");
|
||||||
int flags = CLONE_NEWPID | CLONE_NEWNS | CLONE_NEWIPC | CLONE_NEWUTS | CLONE_PARENT | SIGCHLD;
|
int flags = CLONE_NEWPID | CLONE_NEWNS | CLONE_NEWIPC | CLONE_NEWUTS | CLONE_PARENT | SIGCHLD;
|
||||||
if (!fixedOutput) flags |= CLONE_NEWNET;
|
if (!fixedOutput) flags |= CLONE_NEWNET;
|
||||||
pid_t child = clone(childEntry, stack + stackSize, flags, this);
|
pid_t child = clone(childEntry, stack + stackSize, flags, this);
|
||||||
|
|
Loading…
Reference in a new issue