← Commit list

d9a761d9c

Rob Landley
Rob Landley
2006-06-16
SOURCE BUG Duration: 34s

Subject

Revert svn 15333. If you vfork, you must either exec or exit. (The parent is blocked until you do so.)

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+5 -19
@@ -23,9 +23,12 @@
#ifdef BB_NOMMU
-static void vfork_daemon_common(int nochdir, int noclose)
+void vfork_daemon_rexec(int nochdir, int noclose,
+ int argc, char **argv, char *foreground_opt)
{
int fd;
+ char **vfork_args;
+ int a = 0;
setsid();
@@ -38,24 +41,7 @@ static void vfork_daemon_common(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";