forked from Bananymous/banan-os
44 lines
858 B
Diff
44 lines
858 B
Diff
diff -ru qemu-10.0.2/util/oslib-posix.c qemu-10.0.2-x86_64/util/oslib-posix.c
|
|
--- qemu-10.0.2/util/oslib-posix.c 2025-05-29 01:05:47.000000000 +0300
|
|
+++ qemu-10.0.2-x86_64/util/oslib-posix.c 2025-08-18 02:38:04.839116456 +0300
|
|
@@ -128,7 +128,39 @@
|
|
|
|
int qemu_daemon(int nochdir, int noclose)
|
|
{
|
|
+#if defined(__banan_os__)
|
|
+ const pid_t pid = fork();
|
|
+ if (pid == -1) {
|
|
+ return -1;
|
|
+ }
|
|
+ if (pid > 0) {
|
|
+ exit(0);
|
|
+ }
|
|
+
|
|
+ if (setsid() == -1) {
|
|
+ return -1;
|
|
+ }
|
|
+
|
|
+ if (nochdir == 0) {
|
|
+ if (chdir("/") == -1) {
|
|
+ return -1;
|
|
+ }
|
|
+ }
|
|
+
|
|
+ if (noclose == 0) {
|
|
+ int fd = open("/dev/null", O_RDWR);
|
|
+ if (fd == -1) {
|
|
+ return -1;
|
|
+ }
|
|
+ dup2(fd, STDIN_FILENO);
|
|
+ dup2(fd, STDOUT_FILENO);
|
|
+ dup2(fd, STDERR_FILENO);
|
|
+ }
|
|
+
|
|
+ return 0;
|
|
+#else
|
|
return daemon(nochdir, noclose);
|
|
+#endif
|
|
}
|
|
|
|
bool qemu_write_pidfile(const char *path, Error **errp)
|