← Commit list

6fb5847fa

Mike Frysinger
Mike Frysinger
2006-06-07
SOURCE BUG Duration: 35s

Subject

sometimes daemonizing and vfork()/exit() is ok

SOURCE BUG

This commit was genuinely broken at the time (not related to our build system): scripts/config/mkconfigs.c (2005-08-01 - 2006-10-05 arasi) uretilen bbconfigopts.h icine .config satirlarini kacissiz, ham newline'larla gömüyordu - gecerli C degildi, busybox'un kendi bb_mkdep araci bile parse edemiyordu (7d219aab7 ile duzeltildi, mkconfigs shell scripte cevrildi)

→ Bu hatanin tam hikayesini ve duzeltme diffini gor

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

libbb/vfork_daemon_rexec.c+19 -5
@@ -23,12 +23,9 @@
#ifdef BB_NOMMU
-void vfork_daemon_rexec(int nochdir, int noclose,
- int argc, char **argv, char *foreground_opt)
+static void vfork_daemon_common(int nochdir, int noclose)
{
int fd;
- char **vfork_args;
- int a = 0;
setsid();
@@ -41,7 +38,24 @@ void vfork_daemon_rexec(int nochdir, int noclose,
dup2(fd, STDERR_FILENO);
if (fd > 2)
close(fd);
- }
+ }
+}
+
+void vfork_daemon(int nochdir, int noclose)
+{
+ vfork_daemon_common(nochdir, noclose);
+
+ if (vfork())
+ exit(0);
+}
+
+void vfork_daemon_rexec(int nochdir, int noclose,
+ int argc, char **argv, char *foreground_opt)
+{
+ char **vfork_args;
+ int a = 0;
+
+ vfork_daemon_common(nochdir, noclose);
vfork_args = xcalloc(sizeof(char *), argc + 3);
vfork_args[a++] = "/bin/busybox";