Page MenuHomeFreeBSD

D56536.id175936.diff
No OneTemporary

D56536.id175936.diff

diff --git a/bin/sh/main.c b/bin/sh/main.c
--- a/bin/sh/main.c
+++ b/bin/sh/main.c
@@ -39,6 +39,7 @@
#include <fcntl.h>
#include <locale.h>
#include <errno.h>
+#include <paths.h>
#include "shell.h"
#include "main.h"
@@ -124,6 +125,14 @@
trputs("Shell args: "); trargs(argv);
#endif
rootpid = getpid();
+ if (rootpid == 1) {
+ if (fcntl(STDIN_FILENO, F_GETFL, NULL) == -1 && errno == EBADF)
+ open(_PATH_CONSOLE, O_RDWR);
+ if (fcntl(STDOUT_FILENO, F_GETFL, NULL) == -1 && errno == EBADF)
+ open(_PATH_CONSOLE, O_RDWR);
+ if (fcntl(STDERR_FILENO, F_GETFL, NULL) == -1 && errno == EBADF)
+ open(_PATH_CONSOLE, O_RDWR);
+ }
rootshell = 1;
INTOFF;
initvar();
diff --git a/sbin/init/Makefile b/sbin/init/Makefile
--- a/sbin/init/Makefile
+++ b/sbin/init/Makefile
@@ -10,6 +10,4 @@
CONFTTYSNAME= ttys
CONFTTYS+= ttys
-NO_SHARED?= YES
-
.include <bsd.prog.mk>

File Metadata

Mime Type
text/plain
Expires
Sat, May 30, 7:17 AM (8 h, 56 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
33630529
Default Alt Text
D56536.id175936.diff (888 B)

Event Timeline