chiark / gitweb /
server/peer.c (p_bind): Add the selector after fetching the port number.
authorMark Wooding <mdw@distorted.org.uk>
Sun, 13 May 2018 16:21:04 +0000 (17:21 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Fri, 25 Jan 2019 12:10:31 +0000 (12:10 +0000)
This will make more sense later.

server/peer.c

index 246d84e2a494c39ef2c42eeb03ae92b5b21dab14..fb016169acfc70d4fae4215ca8fbe947613b8ee6 100644 (file)
@@ -876,9 +876,6 @@ void p_bind(struct addrinfo *ailist)
       exit(EXIT_FAILURE);
     }
     fdflags(fd, O_NONBLOCK, O_NONBLOCK, FD_CLOEXEC, FD_CLOEXEC);
-    sel_initfile(&sel, &udpsock[i].sf, fd, SEL_READ, p_read, 0);
-    sel_addfile(&udpsock[i].sf);
-    T( trace(T_PEER, "peer: created %s socket", aftab[i].name); )
     if (port)
       udpsock[i].port = port;
     else {
@@ -890,6 +887,9 @@ void p_bind(struct addrinfo *ailist)
       }
       udpsock[i].port = lastport = getport(&a);
     }
+    T( trace(T_PEER, "peer: created %s socket", aftab[i].name); )
+    sel_initfile(&sel, &udpsock[i].sf, fd, SEL_READ, p_read, 0);
+    sel_addfile(&udpsock[i].sf);
   }
 
 }