On 2015-08-10 at 15:14 +0200, Reindl Harald wrote:
> 
> Am 10.08.2015 um 15:05 schrieb Ivan Shapovalov:
> > On 2015-08-10 at 11:16 +0200, Reindl Harald wrote:
> > Moreover,
> > 
> > > 
> > > * "RuntimeDirectory" is a service configuration
> > > * the daemon is started as unprivileged user
> > > * "RuntimeDirectory" should be created long before
> > >     ExecStart / ExecStartPost
> > 
> > This is wrong. The runtime directory "will be created <...> when
> > the unit is started, and removed when the unit is stopped".
> 
> what is wrong?

The runtime directory should be created right before the unit is
started, not "long before ExecStart / ExecStartPost".

> 
> "unit is started" is for me pretty clear the whole systemd-unit
> 
> > As can be seen from the code, the runtime directory creation is
> > attempted on execution of each configured process, be it ExecStart= 
> > or
> > ExecStartPost= (or whatever else)
> 
> and why in the world is the code written that way?

This is pointless rhetoric.

> 
> there is no logical reason that "RuntimeDirectory" created once would 
> disappear while starting the other processes as well as tempfiles.d 
> which get replaced by "RuntimeDirectory" isn't fired all the time

Why do you think that it would disappear between starting two processes
belonging to the same unit? The runtime directory is destroyed when a
unit enters inactive state. systemd always attempts to create it when
it forks off a control process, just (I guess) because it's more robust
to do it that way rather than to implement a separate state machine
just for that purpose. Now, there was a TOCTOU-style race condition,
and it got fixed indeed as far as I can see.

-- 
Ivan Shapovalov / intelfx /

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to