On Wed, 22 May 2013 10:54:39 +0400, Andrey Borzenkov
<[email protected]> wrote:
> Try removing BindTo. In your case you do not really want to make
> service dependent on existence of device, only first time launching of
> it.

Ah, okay. Very promising. I will try that tomorrow. 
I see in the code that the inverse of UNIT_BIND_TO
is UNIT_BOUND_BY, by means of which relationship the 
unit of a removed device can be identified and
stopped; to understand binding, we have to look at places in
the code referring to UNIT_BOUND_BY as well as UNIT_BIND_TO.

I'm now concerned (hypothetically) that if the unit is
not bound to a device, but is set to Restart=always, will
it not just keep restarting and failing if the device is
missing?

How about changing BindTo to Requires, instead of
deleting it. Does that make sense?

It seems that Requires imposes a dependency for startup,
whereas BindTo is similar, but also imposes a dependency
on the other object for the continued operation.

I'm guessing that the Requires condition is
re-checked at every restart when the service spontaneously
dies, so that is desirable. We do want to require the device to
be present, rather than launching "agetty" on a /dev/ttyUSB0
which isn't there, which will only fail again and again.

Hmm. All will be clear when I get to experiment with this
on the hardware back at work.
_______________________________________________
systemd-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to