PERFORCE change 43700 for review
Sam Leffler
sam at FreeBSD.org
Tue Dec 9 15:11:41 PST 2003
http://perforce.freebsd.org/chv.cgi?CH=43700
Change 43700 by sam at sam_ebb on 2003/12/09 15:11:03
o cleanup potential socket use potential free
o IFC
Affected files ...
.. //depot/projects/netperf+sockets/sys/net/raw_usrreq.c#3 edit
Differences ...
==== //depot/projects/netperf+sockets/sys/net/raw_usrreq.c#3 (text+ko) ====
@@ -31,13 +31,14 @@
* SUCH DAMAGE.
*
* @(#)raw_usrreq.c 8.1 (Berkeley) 6/10/93
- * $FreeBSD: src/sys/net/raw_usrreq.c,v 1.29 2003/09/11 21:40:20 ru Exp $
+ * $FreeBSD: src/sys/net/raw_usrreq.c,v 1.30 2003/11/18 00:39:03 rwatson Exp $
*/
#include <sys/param.h>
#include <sys/lock.h>
#include <sys/mbuf.h>
#include <sys/malloc.h>
+#include <sys/mutex.h>
#include <sys/protosw.h>
#include <sys/signalvar.h>
#include <sys/socket.h>
@@ -143,8 +144,12 @@
if (rp == 0)
return EINVAL;
raw_disconnect(rp);
- sotryfree(so);
- soisdisconnected(so); /* XXX huh? called after the sofree()? */
+ SOCK_LOCK(so);
+ if (so->so_count != 0) {
+ soisdisconnected(so);
+ SOCK_UNLOCK(so);
+ } else
+ sofree(so);
return 0;
}
@@ -296,5 +301,5 @@
pru_connect2_notsupp, pru_control_notsupp, raw_udetach,
raw_udisconnect, pru_listen_notsupp, raw_upeeraddr, pru_rcvd_notsupp,
pru_rcvoob_notsupp, raw_usend, pru_sense_null, raw_ushutdown,
- raw_usockaddr, sosend, soreceive, sopoll
+ raw_usockaddr, sosend, soreceive, sopoll, pru_sosetlabel_null
};
More information about the p4-projects
mailing list