Hi Ludo,
On Wed, 24 Jan 2018 15:47:16 +0100
[email protected] (Ludovic Courtès) wrote:
> I’m not sure what you mean. There’s no notion of dependencies among
> activation snippets, let alone between activation snippets and service
> starts (when booting, activation snippets run *before* shepherd is
> started). Perhaps there’s a misunderstanding here?
Yeah, if it's intended that way, that's fine. So it's like /etc/rc.local
and it just runs the snippets in any order?
Now, I just do both the trytond DB-upgrading and the service starting at the
"start" action because postgres isn't running yet otherwise.
> > As far as I understand make-forkexec-constructor takes special care not
> > to kill stderr. As long there's no log-file specified it should leave
> > stdout
> > and stderr alone. So where does the text go?
>
> To PID 1’s stdout/stderr, i.e., /dev/console (which sucks).
Really? I don't see it in the marionette os output (for make check-system) -
I just tried it again, stdout is nowhere to be seen with check-system.
(I just put a program-file as shepherd start action and called "display" there)
Also tried
(marionette-eval '(current-output-port
(open-file "/dev/console"
"w0"))
marionette)
(marionette-eval '(current-error-port
(open-file "/dev/console"
"w0"))
marionette)
but that didn't change anything either...
> > I've had other problems like:
> >
> > * root's shepherd hangs sometimes and herd can't connect to it anymore.
>
> That’s a serious bug. Can you reproduce it?
I'll try.
> That’s inconvenient but “expected” in the sense that the ‘start’ method
> is called right from shepherd.conf. Perhaps we should call ‘start’ at a
> later stage.
Well, as it is it makes the system very brittle.
Once one service does that... oops.