summaryrefslogtreecommitdiff
path: root/src/conn-tools/s6-tcpserver6d.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/conn-tools/s6-tcpserver6d.c')
-rw-r--r--src/conn-tools/s6-tcpserver6d.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/conn-tools/s6-tcpserver6d.c b/src/conn-tools/s6-tcpserver6d.c
index 8000531..65e9133 100644
--- a/src/conn-tools/s6-tcpserver6d.c
+++ b/src/conn-tools/s6-tcpserver6d.c
@@ -360,13 +360,12 @@ int main (int argc, char const *const *argv, char const *const *envp)
while (cont)
{
- int h = numconn < maxconn ;
- if (iopause_g(x, 1 + h, 0) < 0)
+ if (iopause_g(x, 1 + (numconn < maxconn), 0) < 0)
strerr_diefu1sys(111, "iopause") ;
if (x[0].revents & IOPAUSE_EXCEPT) strerr_dief1x(111, "trouble with selfpipe") ;
- if (x[0].revents & IOPAUSE_READ) handle_signals() ;
- if (h)
+ if (x[0].revents & IOPAUSE_READ) { handle_signals() ; continue ; }
+ if (numconn < maxconn)
{
if (x[1].revents & IOPAUSE_EXCEPT) strerr_dief1x(111, "trouble with socket") ;
if (x[1].revents & IOPAUSE_READ)