]> git.decadent.org.uk Git - nfs-utils.git/blobdiff - support/nfs/rpcmisc.c
Never set SO_REUSEADDR on a UDP socket.
[nfs-utils.git] / support / nfs / rpcmisc.c
index 5b0a88ff76745ea86c019718272bd3c10c66fa77..22ea62c1a88f5d8458968c4fe82cf88dc802025a 100644 (file)
@@ -184,8 +184,11 @@ int makesock(int port, int proto)
        sin.sin_port = htons(port);
 
        val = 1;
-       if (setsockopt(s, SOL_SOCKET, SO_REUSEADDR, &val, sizeof(val)) < 0)
-               xlog(L_ERROR, "setsockopt failed: %s\n", strerror(errno));
+       if (proto == IPPROTO_TCP)
+               if (setsockopt(s, SOL_SOCKET, SO_REUSEADDR,
+                              &val, sizeof(val)) < 0)
+                       xlog(L_ERROR, "setsockopt failed: %s\n",
+                            strerror(errno));
 
 #if 0
        /* I was told it didn't work with gigabit ethernet.