]> git.ozlabs.org Git - ccan/blobdiff - ccan/io/poll.c
ccan/io: implement debug.
[ccan] / ccan / io / poll.c
index e4058766e9f6ed9661d992ed0a603af1b2ae9520..1564444bc88db780499c03a8aefa58cd08fc76c0 100644 (file)
@@ -88,17 +88,21 @@ bool add_listener(struct io_listener *l)
        return true;
 }
 
-void backend_new_closing(struct io_conn *conn)
+void remove_from_always(struct io_conn *conn)
 {
-       /* Already on always list?  Remove it. */
-       if (conn->list) {
-               struct io_conn **p = &always;
+       struct io_conn **p = &always;
 
-               while (*p != conn)
-                       p = &(*p)->list;
+       while (*p != conn)
+               p = &(*p)->list;
 
-               *p = conn->list;
-       }
+       *p = conn->list;
+}
+
+void backend_new_closing(struct io_conn *conn)
+{
+       /* Already on always list?  Remove it. */
+       if (conn->list)
+               remove_from_always(conn);
 
        conn->list = closing;
        closing = conn;