summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/s6-rc-compile.html5
-rw-r--r--src/s6-rc/s6-rc-compile.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/doc/s6-rc-compile.html b/doc/s6-rc-compile.html
index 4d9aeeb..49b4b6d 100644
--- a/doc/s6-rc-compile.html
+++ b/doc/s6-rc-compile.html
@@ -269,6 +269,11 @@ producers. </li>
definition directory, and the producer must be declared in the <tt>producer</tt> file
in its logger's definition directory. If it sees an inconsistency, s6-rc-compile
will complain and exit 1. </li>
+ <li> The producer will automatically have a dependency to its logger (because,
+as much as systemd would have you believe the opposite, it is
+not safe to start a service while its logger is not up). This means that a
+<a href="s6-rc.html">s6-rc change</a> command to start the service will
+automatically start the logger beforehand if it's not already up. </li>
</ul>
<h2> A complete example </h2>
diff --git a/src/s6-rc/s6-rc-compile.c b/src/s6-rc/s6-rc-compile.c
index b2b82dd..94d185a 100644
--- a/src/s6-rc/s6-rc-compile.c
+++ b/src/s6-rc/s6-rc-compile.c
@@ -32,8 +32,8 @@
#define S6RC_ONESHOT_RUNNER_RUNSCRIPT \
"#!" EXECLINE_EXTBINPREFIX "execlineb -P\n" \
EXECLINE_EXTBINPREFIX "fdmove -c 2 1\n" \
+EXECLINE_EXTBINPREFIX "fdmove -c 1 3\n" \
S6_EXTBINPREFIX "s6-ipcserver-socketbinder -- s\n" \
-S6_EXTBINPREFIX "s6-notifywhenup -f --\n" \
S6_EXTBINPREFIX "s6-ipcserverd -1 --\n" \
S6_EXTBINPREFIX "s6-ipcserver-access -v0 -E -l0 -i data/rules --\n" \
S6_EXTBINPREFIX "s6-sudod -t 2000 --\n"
@@ -828,6 +828,7 @@ static inline void write_sizes (char const *compiled, s6rc_db_t const *db)
static inline void write_specials (char const *compiled)
{
auto_dir(compiled, "servicedirs/" S6RC_ONESHOT_RUNNER) ;
+ auto_file(compiled, "servicedirs/" S6RC_ONESHOT_RUNNER "/notification-fd", "3\n", 2) ;
auto_dir(compiled, "servicedirs/" S6RC_ONESHOT_RUNNER "/data") ;
auto_dir(compiled, "servicedirs/" S6RC_ONESHOT_RUNNER "/data/rules") ;
auto_dir(compiled, "servicedirs/" S6RC_ONESHOT_RUNNER "/data/rules/uid") ;