s6

Mirror/fork of https://skarnet.org/software/s6/
git clone https://ccx.te2000.cz/git/s6
Log | Files | Refs | README | LICENSE

commit 71a5105be32cae6c1f7908f72d3562c3e9cc9ede
parent da4000da5e0253b10d59fdc04baafdadd43ca4fd
Author: Laurent Bercot <ska-skaware@skarnet.org>
Date:   Sat, 10 Sep 2016 14:59:21 +0000

 Add guard-rail to s6-ipcserver to avoid it choking on a dgram socket

Diffstat:
Mdoc/s6-ipcserver-socketbinder.html | 1+
Msrc/conn-tools/s6-ipcserver.c | 1+
2 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/doc/s6-ipcserver-socketbinder.html b/doc/s6-ipcserver-socketbinder.html @@ -64,6 +64,7 @@ s6-ipcserver-socketbinder along with <tt>-m</tt>. </li> <h2> Notes </h2> <ul> + <li> The socket is provided <strong>non-blocking</strong>. </li> <li> s6-ipcserver-socketbinder is part of a set of basic blocks used to build a flexible Unix super-server. It normally should be given a command line crafted to make it execute into diff --git a/src/conn-tools/s6-ipcserver.c b/src/conn-tools/s6-ipcserver.c @@ -65,6 +65,7 @@ int main (int argc, char const *const *argv, char const *const *envp) if (!flagreuse) newargv[m++] = "-D" ; if (backlog != (unsigned int)-1) { + if (!backlog) backlog = 1 ; newargv[m++] = "-b" ; newargv[m++] = fmt + pos ; pos += uint_fmt(fmt + pos, backlog) ;