projects
/
project
/
procd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
preinit: create a sentinel file during preinit
[project/procd.git]
/
initd
/
preinit.c
diff --git
a/initd/preinit.c
b/initd/preinit.c
index
f38d8ef
..
51fde31
100644
(file)
--- a/
initd/preinit.c
+++ b/
initd/preinit.c
@@
-15,6
+15,7
@@
#include <sys/stat.h>
#include <sys/types.h>
#include <sys/mount.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <sys/mount.h>
+#include <fcntl.h>
#include <libubox/uloop.h>
#include <libubox/utils.h>
#include <libubox/uloop.h>
#include <libubox/utils.h>
@@
-64,6
+65,7
@@
spawn_procd(struct uloop_process *proc, int ret)
unsetenv("INITRAMFS");
unsetenv("PREINIT");
unsetenv("INITRAMFS");
unsetenv("PREINIT");
+ unlink("/tmp/.preinit");
DEBUG(2, "Exec to real procd now\n");
if (wdt_fd)
setenv("WDTFD", wdt_fd, 1);
DEBUG(2, "Exec to real procd now\n");
if (wdt_fd)
setenv("WDTFD", wdt_fd, 1);
@@
-104,6
+106,7
@@
preinit(void)
uloop_process_add(&plugd_proc);
setenv("PREINIT", "1", 1);
uloop_process_add(&plugd_proc);
setenv("PREINIT", "1", 1);
+ creat("/tmp/.preinit", 0600);
preinit_proc.cb = spawn_procd;
preinit_proc.pid = fork();
preinit_proc.cb = spawn_procd;
preinit_proc.pid = fork();