summary refs log tree commit diff
path: root/src/minutils/s6-uevent-listener.c
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2017-04-27 14:39:17 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2017-04-27 14:39:17 +0000
commit4e6edfeca4f5536cbb0a0a68d8f3822b81dfe79b (patch)
treeb132b61981f40dc3dc86f7513db937f32cd6da39 /src/minutils/s6-uevent-listener.c
parent6cdac30aed3d1199cbcde2c10e61691af9fc77e3 (diff)
downloads6-linux-utils-4e6edfeca4f5536cbb0a0a68d8f3822b81dfe79b.tar.gz
s6-linux-utils-4e6edfeca4f5536cbb0a0a68d8f3822b81dfe79b.tar.xz
s6-linux-utils-4e6edfeca4f5536cbb0a0a68d8f3822b81dfe79b.zip
Adapt s6-devd to the new s6-uevent-listener|s6-uevent-spawner interface
Diffstat (limited to 'src/minutils/s6-uevent-listener.c')
-rw-r--r--src/minutils/s6-uevent-listener.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/minutils/s6-uevent-listener.c b/src/minutils/s6-uevent-listener.c
index e882821..4998cd9 100644
--- a/src/minutils/s6-uevent-listener.c
+++ b/src/minutils/s6-uevent-listener.c
@@ -156,12 +156,10 @@ int main (int argc, char const *const *argv, char const *const *envp)
     r = iopause(x, 2 + cont, 0, 0) ;
     if (r < 0) strerr_diefu1sys(111, "iopause") ;
     if (!r) continue ;
-    for (r = 0 ; r < 2 ; r++)
-      if (x[r].revents & IOPAUSE_EXCEPT)
-        x[r].revents |= IOPAUSE_READ | IOPAUSE_WRITE ;
-    if (x[0].revents & IOPAUSE_READ) handle_signals() ;
+    if (x[1].revents & IOPAUSE_EXCEPT) break ;
     if (x[1].revents & IOPAUSE_WRITE) handle_stdout() ;
-    if (cont && x[2].events & IOPAUSE_READ && x[2].revents & IOPAUSE_READ)
+    if (x[0].revents & (IOPAUSE_READ | IOPAUSE_EXCEPT)) handle_signals() ;
+    if (cont && x[2].events & IOPAUSE_READ && x[2].revents & (IOPAUSE_READ | IOPAUSE_EXCEPT))
       handle_netlink() ;
   }
   if (verbosity >= 2) strerr_warni1x("exiting") ;