Compare commits
3 Commits
a7fc94d59a
...
d200edb640
Author | SHA1 | Date |
---|---|---|
Luca Boccassi | d200edb640 | |
Yu Watanabe | 5b2926d941 | |
Luca Boccassi | db50a2b55c |
|
@ -106,7 +106,10 @@
|
||||||
normal shutdown, reboot and maintenance mode. Finally, they have to be ordered after
|
normal shutdown, reboot and maintenance mode. Finally, they have to be ordered after
|
||||||
<constant>basic.target</constant> to ensure correct ordering on boot. Note that in case any new or
|
<constant>basic.target</constant> to ensure correct ordering on boot. Note that in case any new or
|
||||||
custom units are used to isolate to, or that implement an equivalent shutdown functionality, they will
|
custom units are used to isolate to, or that implement an equivalent shutdown functionality, they will
|
||||||
also have to be configured manually for correct ordering and conflicting. For example:</para>
|
also have to be configured manually for correct ordering and conflicting. In addition, to ensure the
|
||||||
|
service is disconnected from the rootfs resources (see next paragraph), it should run from a separate
|
||||||
|
image, but with the journal sockets mounted so that it is still allowed to log to the system journal.
|
||||||
|
For example:</para>
|
||||||
|
|
||||||
<programlisting>[Unit]
|
<programlisting>[Unit]
|
||||||
Description=My Surviving Service
|
Description=My Surviving Service
|
||||||
|
@ -118,7 +121,9 @@ Conflicts=reboot.target kexec.target poweroff.target halt.target rescue.target e
|
||||||
Before=shutdown.target rescue.target emergency.target
|
Before=shutdown.target rescue.target emergency.target
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Type=oneshot
|
RootImage=/var/lib/root.raw
|
||||||
|
TemporaryFileSystem=/run
|
||||||
|
BindReadOnlyPaths=/run/systemd/journal/socket /run/systemd/journal/stdout
|
||||||
ExecStart=sleep infinity</programlisting>
|
ExecStart=sleep infinity</programlisting>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
|
|
|
@ -75,6 +75,10 @@ static int curl_glue_socket_callback(CURL *curl, curl_socket_t s, int action, vo
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Don't configure io event source anymore when the event loop is dead already. */
|
||||||
|
if (g->event && sd_event_get_state(g->event) == SD_EVENT_FINISHED)
|
||||||
|
return 0;
|
||||||
|
|
||||||
r = hashmap_ensure_allocated(&g->ios, &trivial_hash_ops);
|
r = hashmap_ensure_allocated(&g->ios, &trivial_hash_ops);
|
||||||
if (r < 0) {
|
if (r < 0) {
|
||||||
log_oom();
|
log_oom();
|
||||||
|
|
Loading…
Reference in New Issue