← Commit list

0da069d38

Bernhard Reutner-Fischer
Bernhard Reutner-Fischer
2006-05-29
SOURCE BUG Duration: 48s

Subject

- move common code into new open_new_terminal() function; text data bss dec hex filename 864434 10244 645892 1520570 1733ba busybox_old 864386 10244 645892 1520522 17338a busybox_unstripped

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 →

TODO+1 -1
@@ -27,7 +27,7 @@ Rob Landley <[email protected]>:
bzip2
Compression-side support.
init
- General cleanup.
+ General cleanup (should use ENABLE_FEATURE_INIT_SYSLOG and ENABLE_FEATURE_INIT_DEBUG).
Unify base64 handling.
There's base64 encoding and decoding going on in:
networking/wget.c:base64enc()
init/init.c+27 -23
@@ -386,6 +386,23 @@ static void fixup_argv(int argc, char **argv, char *new_argv0)
}
}
+/* Open the new terminal device */
+static void open_new_terminal(const char *device, char fail) {
+ struct stat sb;
+
+ if ((device_open(device, O_RDWR)) < 0) {
+ if (stat(device, &sb) != 0) {
+ message(LOG | CONSOLE, "device '%s' does not exist.", device);
+ } else {
+ message(LOG | CONSOLE, "Bummer, can't open %s", device);
+ }
+ if (fail)
+ _exit(1);
+ /* else */
+ halt_signal(SIGUSR1);
+ }
+}
+
static pid_t run(const struct init_action *a)
{
int i, junk;
@@ -405,7 +422,6 @@ static pid_t run(const struct init_action *a)
sigprocmask(SIG_BLOCK, &nmask, &omask);
if ((pid = fork()) == 0) {
- struct stat sb;
/* Clean up */
close(0);
@@ -429,14 +445,7 @@ static pid_t run(const struct init_action *a)
setsid();
/* Open the new terminal device */
- if ((device_open(a->terminal, O_RDWR)) < 0) {
- if (stat(a->terminal, &sb) != 0) {
- message(LOG | CONSOLE, "device '%s' does not exist.", a->terminal);
- } else {
- message(LOG | CONSOLE, "Bummer, can't open %s", a->terminal);
- }
- _exit(1);
- }
+ open_new_terminal(a->terminal, 1);
/* Make sure the terminal will act fairly normal for us */
set_term(0);
@@ -575,12 +584,15 @@ static pid_t run(const struct init_action *a)
getpid(), a->terminal, cmdpath);
#if defined CONFIG_FEATURE_INIT_COREDUMPS
- if (stat(CORE_ENABLE_FLAG_FILE, &sb) == 0) {
- struct rlimit limit;
+ {
+ struct stat sb;
+ if (stat(CORE_ENABLE_FLAG_FILE, &sb) == 0) {
+ struct rlimit limit;
- limit.rlim_cur = RLIM_INFINITY;
- limit.rlim_max = RLIM_INFINITY;
- setrlimit(RLIMIT_CORE, &limit);
+ limit.rlim_cur = RLIM_INFINITY;
+ limit.rlim_max = RLIM_INFINITY;
+ setrlimit(RLIMIT_CORE, &limit);
+ }
}
#endif
@@ -729,15 +741,7 @@ static void exec_signal(int sig ATTRIBUTE_UNUSED)
close(2);
/* Open the new terminal device */
- if ((device_open(a->terminal, O_RDWR)) < 0) {
- struct stat sb;
- if (stat(a->terminal, &sb) != 0) {
- message(LOG | CONSOLE, "device '%s' does not exist.", a->terminal);
- } else {
- message(LOG | CONSOLE, "Bummer, can't open %s", a->terminal);
- }
- halt_signal(SIGUSR1);
- }
+ open_new_terminal(a->terminal, 0);
/* Make sure the terminal will act fairly normal for us */
set_term(0);