Skip to content

Commit

Permalink
Add support for NoMMU
Browse files Browse the repository at this point in the history
  • Loading branch information
echelonxray committed Mar 9, 2024
1 parent 5ccca9c commit 085fc15
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 6 deletions.
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
SHELL=bash
CFLAGS=-std=gnu99 -static -s -Wall -Werror -O3
CFLAGS_AUTO=-std=gnu99 -static-pie -s -Wall -Werror -O3

TEST_PACKAGE_DEPS := build-essential python python-pip procps python-dev python-setuptools

Expand All @@ -8,7 +8,7 @@ VERSION = $(shell cat VERSION)

.PHONY: build
build: VERSION.h
$(CC) $(CFLAGS) -o dumb-init dumb-init.c
$(CC) $(CFLAGS_AUTO) $(CFLAGS) -o dumb-init dumb-init.c

VERSION.h: VERSION
echo '// THIS FILE IS AUTOMATICALLY GENERATED' > VERSION.h
Expand Down
10 changes: 6 additions & 4 deletions dumb-init.c
Original file line number Diff line number Diff line change
Expand Up @@ -292,9 +292,9 @@ int main(int argc, char *argv[]) {
}
}

child_pid = fork();
child_pid = vfork();
if (child_pid < 0) {
PRINTERR("Unable to fork. Exiting.\n");
PRINTERR("Unable to vfork. Exiting.\n");
return 1;
} else if (child_pid == 0) {
/* child */
Expand All @@ -306,7 +306,7 @@ int main(int argc, char *argv[]) {
errno,
strerror(errno)
);
exit(1);
_exit(1);
}

if (ioctl(STDIN_FILENO, TIOCSCTTY, 0) == -1) {
Expand All @@ -322,7 +322,7 @@ int main(int argc, char *argv[]) {

// if this point is reached, exec failed, so we should exit nonzero
PRINTERR("%s: %s\n", cmd[0], strerror(errno));
return 2;
_exit(2);
} else {
/* parent */
DEBUG("Child spawned with PID %d.\n", child_pid);
Expand All @@ -337,4 +337,6 @@ int main(int argc, char *argv[]) {
handle_signal(signum);
}
}

return 1;
}

0 comments on commit 085fc15

Please sign in to comment.