From: Jeff <sysinit@yandex.com>
To: supervision@List.skarnet.org
Subject: Re: emergency IPC with SysV message queues
Date: Sun, 19 May 2019 22:26:36 +0200 [thread overview]
Message-ID: <20190519202636.GH4861@panda> (raw)
In-Reply-To: <20190519175450.GB4861@panda>
> What details need to be conveyed other than "stand up", "sit down",
> and "roll over" (boot, sigpwr, sigint)?
depends on what you plan to do. for a minimal init handling SIGCHLD
(that is an interesting point indeed. is it really necessary ?
i still have to find out. would be nice if one could run without it
though.) and (Linux) SIG(INT,WINCH) should be sufficient.
in the case of the latter 2 it would be enough to run an external
executable to notify their arrival and let the admin decide what
to do about them. maybe SIGPWR is of relevance too.
that suffices for init itself.
a supervisor needs more information, such as:
start this service, stop that one, disable another, restart one,
signal another one and so on, depends on what capabilities the
supervisor provides.
and this has to be encoded in such a protocol that uses 2 ipc
mechanisms: sysv ipc and a specific signal (SIGIO comes to mind)
to notify the daemon (maybe a third one: (abstract) sockets).
> Abstract namespace sockets have two shortcomings:
>
> * not portable beyond linux
true, but i would use them where available and standard unix sockets
elsewhere.
> * need to use access restrictions
don't you use credentials anyway ?
AFAIK all the BSDs and Solaris have them too.
> * shared across different mount namespaces;
> one needs a new network namespace for different instances
so you need to care for that namespaces too. this can be an
advantage since it is decoupled from mount namespaces though.
i did not consider namespaces at all since i follow the systemd
development approach: works on my laptop, hence works everywhere. :-(
> I am considering dropping it for a socket in /run in my supervisor.
why not ? i would use standard unix sockets for everything with
PID > 1 too, but in the process #1 situation i guess they provide
an advantage.
next prev parent reply other threads:[~2019-05-19 20:26 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-09 7:10 ipc in process #1 Jeff
2019-05-10 17:57 ` Laurent Bercot
2019-05-11 11:26 ` SysV shutdown util Jeff
2019-05-11 12:56 ` Laurent Bercot
2019-05-11 12:38 ` emergency IPC with SysV message queues Jeff
2019-05-11 13:34 ` Laurent Bercot
2019-05-16 15:15 ` Jeff
2019-05-16 21:25 ` Laurent Bercot
2019-05-16 21:54 ` Oliver Schad
2019-05-19 17:54 ` Jeff
[not found] ` <CALZWFRJws+eDthy8MCFj4PiVdRdRpM+afda6QAbEtYA4NT8ESQ@mail.gmail.com>
2019-05-19 19:59 ` Fwd: " Cameron Nemo
2019-05-19 20:26 ` Jeff [this message]
2019-05-19 18:38 ` Bob
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=20190519202636.GH4861@panda \
--to=sysinit@yandex.com \
--cc=supervision@List.skarnet.org \
/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;
as well as URLs for NNTP newsgroup(s).