From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 00/38] systemd support for various packages
Date: Sun, 5 Jul 2015 17:16:22 +0200 [thread overview]
Message-ID: <20150705171622.1b2b98dd@free-electrons.com> (raw)
In-Reply-To: <20150524021840.GA13994@vostro>
Alex, Cam,
Could you reach to an agreement on this point? I am not a systemd
expert, and from a quick reading of Lucas Nussbaum blog post, there
does not seem to be a perfect solution (besides changing the service
source code itself to make it more systemd aware).
It would be great to be able to move forward with this patch series.
Thanks for your help,
Thomas
On Sun, 24 May 2015 05:18:40 +0300, Alex Suykov wrote:
> Sun, May 24, 2015 at 01:21:58AM -0000, Cam Hutchison wrote:
>
> > Type=simple is not necessarily the best way to do this. Handling errors
> > is done differently by systemd with Type=simple vs Type=forking.
>
> The difference in error handling is actually why I consider non-forking
> services to be the only valid kind of services for anything more capable
> that sysv initscripts.
>
> > A recent blog post by Lucas Nussbaum has more details:
> > http://www.lucas-nussbaum.net/blog/?p=877
> >
> > With Type=simple, systemd considers the service started right after
> > executing it. It will not flag errors on startup if the process exits
> > soon after due to a config error, etc. With Type=forking, systemd will
> > only consider the service started after the parent exits. As many
> > daemons will check config files and command line args before forking,
> > these errors will be detected and propagated to systemd.
>
> Non-forking services signal initial configuration errors as well as any
> errors past initial configuration phase by exiting with non-zero status.
> Which systemd can take immediate action on, like restarting the service
> or marking it as failed. It's mentioned in the blog post.
>
> Forking daemons gain marginally better *initial* error reporting by losing
> the ability to report errors at later stages. Detecting the state of a forked
> daemon (as in running or dead), or killing it, is non-trivial and generally
> involves time of check time of use race condition. With non-forking services,
> both operations are trivial and reliable.
>
> Does knowing the fine distiction between initial and non-initial failure
> is worth the loss of control over the child process? I don't think so.
>
> Reporting initial config status via parent process exit() is a specific
> case of startup notification, the post mentions that too.
> Any reliance on any kind of startup notification inherently results in
> time of check time of use race conditon.
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
prev parent reply other threads:[~2015-07-05 15:16 UTC|newest]
Thread overview: 80+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-23 10:01 [Buildroot] [PATCH 00/38] systemd support for various packages Alex Suykov
2015-05-23 10:02 ` [Buildroot] [PATCH 01/38] at: systemd support Alex Suykov
2015-07-13 15:34 ` Maxime Hadjinlian
2015-07-14 0:51 ` [Buildroot] [PATCH 1/2] at: bump version 3.1.16 Aurélien Chabot
2015-07-14 8:07 ` Thomas Petazzoni
2015-07-14 0:51 ` [Buildroot] [PATCH 2/2] at: add systemd support Aurélien Chabot
2015-05-23 10:02 ` [Buildroot] [PATCH 02/38] chrony: " Alex Suykov
2015-07-13 16:18 ` Thomas Petazzoni
2015-05-23 10:02 ` [Buildroot] [PATCH 03/38] dcron: " Alex Suykov
2015-07-13 16:18 ` Thomas Petazzoni
2015-05-23 10:02 ` [Buildroot] [PATCH 04/38] dmraid: " Alex Suykov
2015-05-23 10:03 ` [Buildroot] [PATCH 05/38] dnsmasq: " Alex Suykov
2015-07-13 16:44 ` Maxime Hadjinlian
2015-05-23 10:03 ` [Buildroot] [PATCH 06/38] ejabberd: " Alex Suykov
2015-07-13 16:49 ` Maxime Hadjinlian
2015-07-13 16:55 ` Maxime Hadjinlian
2015-05-23 10:03 ` [Buildroot] [PATCH 07/38] exim: " Alex Suykov
2015-07-13 17:05 ` Thomas Petazzoni
2015-05-23 10:03 ` [Buildroot] [PATCH 08/38] gpsd: " Alex Suykov
2015-07-13 17:04 ` Maxime Hadjinlian
2015-05-23 10:03 ` [Buildroot] [PATCH 09/38] inadyn: " Alex Suykov
2015-07-13 17:16 ` Thomas Petazzoni
2015-05-23 10:04 ` [Buildroot] [PATCH 10/38] inadyn: start in background mode Alex Suykov
2015-07-05 15:14 ` Thomas Petazzoni
2015-05-23 10:04 ` [Buildroot] [PATCH 11/38] input-event-daemon: systemd support Alex Suykov
2015-07-13 18:04 ` Thomas Petazzoni
2015-05-23 10:04 ` [Buildroot] [PATCH 12/38] iucode-tool: " Alex Suykov
2015-07-13 17:30 ` Maxime Hadjinlian
2015-05-23 10:04 ` [Buildroot] [PATCH 13/38] lirc-tools: " Alex Suykov
2015-07-13 17:33 ` Maxime Hadjinlian
2015-05-23 10:05 ` [Buildroot] [PATCH 14/38] mongoose: " Alex Suykov
2015-07-14 12:01 ` Thomas Petazzoni
2015-05-23 10:05 ` [Buildroot] [PATCH 15/38] neard: " Alex Suykov
2015-07-13 18:01 ` Maxime Hadjinlian
2015-05-23 10:05 ` [Buildroot] [PATCH 16/38] netatalk: " Alex Suykov
2015-07-13 20:34 ` Maxime Hadjinlian
2015-05-23 10:05 ` [Buildroot] [PATCH 17/38] netplug: " Alex Suykov
2015-07-13 21:25 ` Thomas Petazzoni
2015-05-23 10:06 ` [Buildroot] [PATCH 18/38] netsnmp: " Alex Suykov
2015-07-13 21:49 ` Maxime Hadjinlian
2015-05-23 10:06 ` [Buildroot] [PATCH 19/38] olsr: " Alex Suykov
2015-07-14 9:54 ` Thomas Petazzoni
2015-05-23 10:06 ` [Buildroot] [PATCH 20/38] proftpd: " Alex Suykov
2015-07-14 9:57 ` Thomas Petazzoni
2015-05-23 10:06 ` [Buildroot] [PATCH 21/38] ptpd: " Alex Suykov
2015-07-14 10:05 ` Thomas Petazzoni
2015-05-23 10:06 ` [Buildroot] [PATCH 22/38] ptpd2: " Alex Suykov
2015-05-23 10:06 ` [Buildroot] [PATCH 23/38] pulseaudio: " Alex Suykov
2015-07-14 22:11 ` Thomas Petazzoni
2015-05-23 10:07 ` [Buildroot] [PATCH 24/38] smstools3: " Alex Suykov
2015-07-14 11:44 ` Maxime Hadjinlian
2015-05-23 10:07 ` [Buildroot] [PATCH 25/38] rpi-userland: " Alex Suykov
2015-07-14 13:53 ` Thomas Petazzoni
2015-05-23 10:07 ` [Buildroot] [PATCH 26/38] sunxi-mali: " Alex Suykov
2015-07-13 18:08 ` Maxime Hadjinlian
2015-05-23 10:07 ` [Buildroot] [PATCH 27/38] ti-gfx: " Alex Suykov
2015-07-14 22:34 ` Thomas Petazzoni
2015-05-23 10:07 ` [Buildroot] [PATCH 28/38] squid: " Alex Suykov
2015-07-05 14:10 ` Thomas Petazzoni
2015-05-23 10:08 ` [Buildroot] [PATCH 30/38] tinyhttpd: " Alex Suykov
2015-07-14 12:04 ` Thomas Petazzoni
2015-05-23 10:13 ` [Buildroot] [PATCH 29/38] tftpd: " Alex Suykov
2015-07-13 18:29 ` Maxime Hadjinlian
2015-05-23 10:13 ` [Buildroot] [PATCH 31/38] transmission: " Alex Suykov
2015-05-23 10:13 ` [Buildroot] [PATCH 32/38] upmpdcli: " Alex Suykov
2015-07-05 14:06 ` Thomas Petazzoni
2015-05-23 10:14 ` [Buildroot] [PATCH 33/38] vsftpd: " Alex Suykov
2015-07-13 18:44 ` Maxime Hadjinlian
2015-05-23 10:14 ` [Buildroot] [PATCH 34/38] triggerhappy: " Alex Suykov
2015-07-14 13:51 ` Thomas Petazzoni
2015-05-23 10:14 ` [Buildroot] [PATCH 35/38] supervisor: " Alex Suykov
2015-07-13 20:44 ` Thomas Petazzoni
2015-05-23 10:14 ` [Buildroot] [PATCH 36/38] samba: " Alex Suykov
2015-05-23 10:14 ` [Buildroot] [PATCH 37/38] samba4: install systemd files Alex Suykov
2015-07-05 14:11 ` Thomas Petazzoni
2015-05-23 10:15 ` [Buildroot] [PATCH 38/38] mysql: systemd support Alex Suykov
2015-07-13 20:41 ` Thomas Petazzoni
2015-05-24 1:21 ` [Buildroot] [PATCH 00/38] systemd support for various packages Cam Hutchison
2015-05-24 2:18 ` Alex Suykov
2015-07-05 15:16 ` Thomas Petazzoni [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150705171622.1b2b98dd@free-electrons.com \
--to=thomas.petazzoni@free-electrons.com \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox