Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. =================================================================== RCS file: /ftp/cvs/cvsroot/src/sys/kern/uipc_socket.c,v retrieving revision 1.50 retrieving revision 1.50.4.2 diff -u -p -r1.50 -r1.50.4.2 --- src/sys/kern/uipc_socket.c 2000/03/30 09:27:14 1.50 +++ src/sys/kern/uipc_socket.c 2001/02/03 18:41:57 1.50.4.2 @@ -1,4 +1,4 @@ -/* $NetBSD: uipc_socket.c,v 1.50 2000/03/30 09:27:14 augustss Exp $ */ +/* $NetBSD: uipc_socket.c,v 1.50.4.2 2001/02/03 18:41:57 he Exp $ */ /* * Copyright (c) 1982, 1986, 1988, 1990, 1993 @@ -126,11 +126,11 @@ socreate(dom, aso, type, proto) } int -sobind(so, nam) +sobind(so, nam, p) struct socket *so; struct mbuf *nam; + struct proc *p; { - struct proc *p = curproc; /* XXX */ int s = splsoftnet(); int error; @@ -262,7 +262,7 @@ soaccept(so, nam) struct mbuf *nam; { int s = splsoftnet(); - int error; + int error = 0; if ((so->so_state & SS_NOFDREF) == 0) panic("soaccept: !NOFDREF"); @@ -271,7 +271,8 @@ soaccept(so, nam) error = (*so->so_proto->pr_usrreq)(so, PRU_ACCEPT, (struct mbuf *)0, nam, (struct mbuf *)0, (struct proc *)0); else - error = 0; + nam->m_len = 0; + splx(s); return (error); }