Skip to content

Commit

Permalink
units: starting suspend.target should not fail when suspend is succes…
Browse files Browse the repository at this point in the history
…sful (systemd#6678)

and the same for hibernate.target and hybrid-sleep.target.

Tested with both sucessful and unsuccessful suspends.  The result of the
start job was correct in both cases.  Closes systemd#6419 (a regression in v233
and v234).

> suspend is unsual for a target, because it has to stop itself once it's
> started. Otherwise you couldn't start it again, so you could only suspend
> once! Currently that's implemented using BindsTo=systemd-sleep.service.
> Meaning it pulls in systemd-sleep.service to do the actual suspend, and
> then de-activates afterwards. But the behaviour of BindsTo was changed
> recently (not without some issues during development) - maybe this bug
> is caused by poettering/systemd@631b676 which I think was added in
> release v233.
>
> sleep.target (see man systemd.special) has the same need, but it
> implements it differently. It simply has StopWhenUnneeded=yes.

This commit switches suspend.target etc. to the approach used by
sleep.target.
  • Loading branch information
sourcejedi authored and poettering committed Aug 30, 2017
1 parent 3f1a3d4 commit 64a36ae
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 3 deletions.
3 changes: 2 additions & 1 deletion units/hibernate.target
Expand Up @@ -9,5 +9,6 @@
Description=Hibernate
Documentation=man:systemd.special(7)
DefaultDependencies=no
BindsTo=systemd-hibernate.service
Requires=systemd-hibernate.service
After=systemd-hibernate.service
StopWhenUnneeded=yes
3 changes: 2 additions & 1 deletion units/hybrid-sleep.target
Expand Up @@ -9,5 +9,6 @@
Description=Hybrid Suspend+Hibernate
Documentation=man:systemd.special(7)
DefaultDependencies=no
BindsTo=systemd-hybrid-sleep.service
Requires=systemd-hybrid-sleep.service
After=systemd-hybrid-sleep.service
StopWhenUnneeded=yes
3 changes: 2 additions & 1 deletion units/suspend.target
Expand Up @@ -9,5 +9,6 @@
Description=Suspend
Documentation=man:systemd.special(7)
DefaultDependencies=no
BindsTo=systemd-suspend.service
Requires=systemd-suspend.service
After=systemd-suspend.service
StopWhenUnneeded=yes

0 comments on commit 64a36ae

Please sign in to comment.