Fix client disconnection close
[src/app-framework-binder.git] / src / afs-supervisor.c
index 2afbf53..d8d1910 100644 (file)
@@ -237,12 +237,12 @@ static void accept_supervision_link(int sock)
  */
 static void listening(void *closure, uint32_t revents, struct fdev *fdev)
 {
-       if ((revents & EPOLLIN) != 0)
-               accept_supervision_link((int)(intptr_t)closure);
-       else if ((revents & EPOLLHUP) != 0) {
+       if ((revents & EPOLLHUP) != 0) {
                ERROR("supervision socket closed");
                exit(1);
        }
+       if ((revents & EPOLLIN) != 0)
+               accept_supervision_link((int)(intptr_t)closure);
 }
 
 /*