Fix client disconnection close
[src/app-framework-binder.git] / src / afs-supervisor.c
index 31b8b7c..9746a0f 100644 (file)
@@ -280,12 +280,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);
 }
 
 /*