Add explanatory comment to make_unix_socket().
[openvswitch] / lib / socket-util.c
index ca08de5a597bee0268080faac8d3e5e09a660ad9..7d54a4818514416ce827346efb489cfea5d13bed 100644 (file)
@@ -201,6 +201,10 @@ make_unix_socket(int style, bool nonblock, bool passcred UNUSED,
         return -errno;
     }
 
+    /* Set nonblocking mode right away, if we want it.  This prevents blocking
+     * in connect(), if connect_path != NULL.  (In turn, that's a corner case:
+     * it will only happen if style is SOCK_STREAM or SOCK_SEQPACKET, and only
+     * if a backlog of un-accepted connections has built up in the kernel.)  */
     if (nonblock) {
         int flags = fcntl(fd, F_GETFL, 0);
         if (flags == -1) {