projects
/
project
/
procd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
syslog() is a blocking call on eglibc. as procd provides the actual syslog, weneed...
[project/procd.git]
/
early.c
diff --git
a/early.c
b/early.c
index
063e1a6
..
e86e4dd
100644
(file)
--- a/
early.c
+++ b/
early.c
@@
-24,19
+24,19
@@
static void early_mounts(void)
{
static void early_mounts(void)
{
- mount("proc", "/proc", "proc",
0
, 0);
- mount("sysfs", "/sys", "sysfs",
0
, 0);
+ mount("proc", "/proc", "proc",
MS_NOATIME
, 0);
+ mount("sysfs", "/sys", "sysfs",
MS_NOATIME
, 0);
- mount("tmpfs", "/tmp", "tmpfs", MS_NOSUID | MS_NODEV
, "size=512k,mode=1777"
);
+ mount("tmpfs", "/tmp", "tmpfs", MS_NOSUID | MS_NODEV
| MS_NOATIME, NULL
);
mkdir("/tmp/run", 0777);
mkdir("/tmp/lock", 0777);
mkdir("/tmp/state", 0777);
symlink("/tmp", "/var");
mkdir("/tmp/run", 0777);
mkdir("/tmp/lock", 0777);
mkdir("/tmp/state", 0777);
symlink("/tmp", "/var");
- mount("tmpfs", "/dev", "tmpfs",
0
, "mode=0755,size=512K");
+ mount("tmpfs", "/dev", "tmpfs",
MS_NOATIME
, "mode=0755,size=512K");
mkdir("/dev/shm", 0755);
mkdir("/dev/pts", 0755);
mkdir("/dev/shm", 0755);
mkdir("/dev/pts", 0755);
- mount("devpts", "/dev/pts", "devpts",
0, 0
);
+ mount("devpts", "/dev/pts", "devpts",
MS_NOATIME, "mode=600"
);
}
static void early_dev(void)
}
static void early_dev(void)
@@
-49,14
+49,12
@@
static void early_console(const char *dev)
struct stat s;
int dd;
struct stat s;
int dd;
- if (stat(dev, &s))
- mkdev("*console", 0600);
+ if (stat(dev, &s)) {
+ ERROR("Failed to stat %s\n", dev);
+ return;
+ }
dd = open(dev, O_RDWR);
dd = open(dev, O_RDWR);
- close(STDIN_FILENO);
- close(STDOUT_FILENO);
- close(STDERR_FILENO);
-
if (dd < 0) {
ERROR("Failed to open %s\n", dev);
return;
if (dd < 0) {
ERROR("Failed to open %s\n", dev);
return;
@@
-65,7
+63,11
@@
static void early_console(const char *dev)
dup2(dd, STDIN_FILENO);
dup2(dd, STDOUT_FILENO);
dup2(dd, STDERR_FILENO);
dup2(dd, STDIN_FILENO);
dup2(dd, STDOUT_FILENO);
dup2(dd, STDERR_FILENO);
- close(dd);
+
+ if (dd != STDIN_FILENO &&
+ dd != STDOUT_FILENO &&
+ dd != STDERR_FILENO)
+ close(dd);
}
static void early_env(void)
}
static void early_env(void)