[systemd-devel] [PATCH 1/3] systemctl: check for triggering units before calling StopUnit
Zbigniew Jędrzejewski-Szmek
zbyszek at in.waw.pl
Thu Sep 12 10:57:53 PDT 2013
On Wed, Sep 11, 2013 at 08:04:38PM +0200, Lennart Poettering wrote:
> On Fri, 09.08.13 16:00, Michal Sekletar (msekleta at redhat.com) wrote:
>
> Heya,
>
> Hmm, so what I don't really like about this patch is that the stop might
> have caused the triggering units also to go away via some deps. If we
> check the triggers before executing the operations we will never take
> that into account. (Note that so far the trigger message is delayed
> after the job succeeded in order to make sure we can take the full
> a-posteriori state into account).
>
> So not sure, Zbigniew, do you have an opinion on this?
Yep, this would be the regression here.
Before the patch:
% sudo systemctl stop cups.service cups.socket
Warning: Stopping cups.service, but it can still be activated by:
cups.path
After the patch:
% sudo build/systemctl stop cups.service cups.socket
Warning: Stopping cups.service, but it can still be activated by:
cups.socket
cups.path
I think that stopping rsyslog and other very busy sockets is
rather special, and current scheme works most of the time for what
is I think the common case. Maybe a better approach would be to
still print the warning when the job was cancelled.
Also, the "randomness" that the bug reporter didn't like is OK:
they are doing something inherently racy, and sometimes it goes
one way, sometimes the other.
Zbyszek
> (Also, Michal, what about the other patches from this series, are they
> still relevant? I amnot sure if you pulled them back or not, the thread
> confused me....)
>
> Lennart
More information about the systemd-devel
mailing list