add internet-common options in pcb, add ip header prototype for ttl and tos;
[unix-history] / usr / src / sys / kern / uipc_usrreq.c
index 001bf64..cdd33c7 100644 (file)
@@ -12,7 +12,7 @@
  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  *
  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  *
- *     @(#)uipc_usrreq.c       7.15 (Berkeley) %G%
+ *     @(#)uipc_usrreq.c       7.19 (Berkeley) %G%
  */
 
 #include "param.h"
  */
 
 #include "param.h"
 #include "unpcb.h"
 #include "un.h"
 #include "vnode.h"
 #include "unpcb.h"
 #include "un.h"
 #include "vnode.h"
-#include "mount.h"
 #include "file.h"
 #include "stat.h"
 #include "file.h"
 #include "stat.h"
-#include "mbuf.h"      /* XXX must appear after mount.h */
+#include "mbuf.h"
 
 /*
  * Unix communications domain.
 
 /*
  * Unix communications domain.
@@ -369,9 +368,14 @@ unp_bind(unp, nam)
        vp = ndp->ni_vp;
        if (vp != NULL) {
                VOP_ABORTOP(ndp);
        vp = ndp->ni_vp;
        if (vp != NULL) {
                VOP_ABORTOP(ndp);
+               if (ndp->ni_dvp == vp)
+                       vrele(ndp->ni_dvp);
+               else
+                       vput(ndp->ni_dvp);
+               vrele(vp);
                return (EADDRINUSE);
        }
                return (EADDRINUSE);
        }
-       vattr_null(&vattr);
+       VATTR_NULL(&vattr);
        vattr.va_type = VSOCK;
        vattr.va_mode = 0777;
        if (error = VOP_CREATE(ndp, &vattr))
        vattr.va_type = VSOCK;
        vattr.va_mode = 0777;
        if (error = VOP_CREATE(ndp, &vattr))