diff --git a/TODO b/TODO
index 75b3c0333b..8422f86a75 100644
--- a/TODO
+++ b/TODO
@@ -1,3 +1,7 @@
+* reload PID file after reload, allow dynamically changing main PIDs
+
+* Fix multiple reload statements
+
* FAT uuids are uppercase, systemd refers to them in lowercase, breakage (mjg59)
* make usage of SIGKILL when shutting down services optional
diff --git a/man/systemd.exec.xml b/man/systemd.exec.xml
index d6ac5aed89..835ee81531 100644
--- a/man/systemd.exec.xml
+++ b/man/systemd.exec.xml
@@ -50,29 +50,32 @@
systemd.service,
systemd.socket,
- systemd.mount
+ systemd.mount,
+ systemd.swapDescriptionUnit configuration files for services, sockets
- and mount points share a subset of configuration
- options which define the execution environment of
- spawned processes.
+ mount points and swap devices share a subset of
+ configuration options which define the execution
+ environment of spawned processes.
This man page lists the configuration options
shared by these three unit types. See
systemd.unit5
for the common options of all unit configuration
files, and
- systemd.service5, systemd.socket5
+ systemd.service5,
+ systemd.socket5,
+ systemd.swap5
and
systemd.mount5
for more information on the specific unit
configuration files. The execution specific
configuration options are configured in the [Service],
- [Socket] resp. [Mount] section, depending on the unit
+ [Socket], [Mount] resp. [Swap] section, depending on the unit
type.
@@ -766,6 +769,7 @@
systemd.unit5,
systemd.service5,
systemd.socket5,
+ systemd.swap5,
systemd.mount5
diff --git a/man/systemd.mount.xml b/man/systemd.mount.xml
index 323f232878..e2a9f2272d 100644
--- a/man/systemd.mount.xml
+++ b/man/systemd.mount.xml
@@ -231,6 +231,15 @@
systemd.service5
for details.
+
+
+ KillSignal=
+ Specifies which signal
+ to use when killing a process of this
+ mount. Defaults to SIGTERM.
+
+
+
diff --git a/man/systemd.service.xml b/man/systemd.service.xml
index e4fa6bcc7c..e5262f6d60 100644
--- a/man/systemd.service.xml
+++ b/man/systemd.service.xml
@@ -560,8 +560,10 @@
.
Processes will first be
- terminated via SIGTERM. If then after
- a delay (configured via the
+ terminated via SIGTERM (unless this is
+ changed via
+ KillSignal=). If
+ then after a delay (configured via the
TimeoutSec= option)
processes still remain, the
termination request is repeated with
@@ -571,6 +573,14 @@
information.
+
+ KillSignal=
+ Specifies which signal
+ to use when killing a
+ service. Defaults to SIGTERM.
+
+
+
NonBlocking=Set O_NONBLOCK flag
diff --git a/man/systemd.socket.xml b/man/systemd.socket.xml
index 78d379de92..47ad913748 100644
--- a/man/systemd.socket.xml
+++ b/man/systemd.socket.xml
@@ -519,6 +519,14 @@
for details.
+
+ KillSignal=
+ Specifies which signal
+ to use when killing a process of this
+ socket. Defaults to SIGTERM.
+
+
+
Service=Specifies the service
diff --git a/man/systemd.swap.xml b/man/systemd.swap.xml
index 38574ab4c8..45467039e9 100644
--- a/man/systemd.swap.xml
+++ b/man/systemd.swap.xml
@@ -95,8 +95,12 @@
Swap files must include a [Swap] section, which
carries information about the swap device it
- supervises. The options specific to the [Swap] section
- of swap units are the following:
+ supervises. A number of options that may be used in
+ this section are shared with other unit types. These
+ options are documented in
+ systemd.exec5. The
+ options specific to the [Swap] section of swap units
+ are the following:
@@ -128,6 +132,50 @@
file. This takes an integer. This
setting is optional.
+
+
+ TimeoutSec=
+ Configures the time to
+ wait for the swapon command to
+ finish. If a command does not exit
+ within the configured time the swap
+ will be considered failed and be shut
+ down again. All commands still running
+ will be terminated forcibly via
+ SIGTERM, and after another delay of
+ this time with SIGKILL. (See
+ below.)
+ Takes a unit-less value in seconds, or
+ a time span value such as "5min
+ 20s". Pass 0 to disable the timeout
+ logic. Defaults to
+ 60s.
+
+
+
+ KillMode=
+ Specifies how
+ processes of this swap shall be
+ killed. One of
+ ,
+ ,
+ ,
+ .
+
+ This option is mostly equivalent
+ to the
+ option of service files. See
+ systemd.service5
+ for details.
+
+
+
+ KillSignal=
+ Specifies which signal
+ to use when killing a process of this
+ swap. Defaults to SIGTERM.
+
+
@@ -137,6 +185,7 @@
systemd1,
systemctl8,
systemd.unit5,
+ systemd.exec5,
systemd.device5,
systemd.mount5,
swapon8
diff --git a/src/load-fragment.c b/src/load-fragment.c
index 261180d155..b7c3cbbc3b 100644
--- a/src/load-fragment.c
+++ b/src/load-fragment.c
@@ -1914,6 +1914,8 @@ static int load_from_path(Unit *u, const char *path) {
{ "What", config_parse_path, &u->swap.parameters_fragment.what, "Swap" },
{ "Priority", config_parse_int, &u->swap.parameters_fragment.priority, "Swap" },
+ { "TimeoutSec", config_parse_usec, &u->swap.timeout_usec, "Swap" },
+ EXEC_CONTEXT_CONFIG_ITEMS(u->swap.exec_context, "Swap"),
{ "OnActiveSec", config_parse_timer, &u->timer, "Timer" },
{ "OnBootSec", config_parse_timer, &u->timer, "Timer" },