PERFORCE change 43682 for review

Sam Leffler sam at FreeBSD.org
Tue Dec 9 10:19:37 PST 2003


http://perforce.freebsd.org/chv.cgi?CH=43682

Change 43682 by sam at sam_ebb on 2003/12/09 10:18:42

	IFC

Affected files ...

.. //depot/projects/netperf+sockets/sys/kern/uipc_syscalls.c#3 integrate

Differences ...

==== //depot/projects/netperf+sockets/sys/kern/uipc_syscalls.c#3 (text+ko) ====

@@ -37,7 +37,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/uipc_syscalls.c,v 1.157 2003/10/19 20:41:07 dwmalone Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/uipc_syscalls.c,v 1.159 2003/12/01 22:12:50 dg Exp $");
 
 #include "opt_compat.h"
 #include "opt_ktrace.h"
@@ -60,6 +60,7 @@
 #include <sys/mount.h>
 #include <sys/mbuf.h>
 #include <sys/protosw.h>
+#include <sys/sf_buf.h>
 #include <sys/socket.h>
 #include <sys/socketvar.h>
 #include <sys/signalvar.h>
@@ -1868,7 +1869,7 @@
 		MGETHDR(m, M_TRYWAIT, MT_DATA);
 		if (m == NULL) {
 			error = ENOBUFS;
-			sf_buf_free((void *)sf->kva, sf);
+			sf_buf_free((void *)sf_buf_kva(sf), sf);
 			SOCKBUF_LOCK(&so->so_snd);
 			sbunlock(&so->so_snd);
 			SOCKBUF_UNLOCK(&so->so_snd);
@@ -1877,9 +1878,9 @@
 		/*
 		 * Setup external storage for mbuf.
 		 */
-		MEXTADD(m, sf->kva, PAGE_SIZE, sf_buf_free, sf, M_RDONLY,
+		MEXTADD(m, sf_buf_kva(sf), PAGE_SIZE, sf_buf_free, sf, M_RDONLY,
 		    EXT_SFBUF);
-		m->m_data = (char *) sf->kva + pgoff;
+		m->m_data = (char *)sf_buf_kva(sf) + pgoff;
 		m->m_pkthdr.len = m->m_len = xfsize;
 		/*
 		 * Add the buffer to the socket buffer chain.
@@ -1987,5 +1988,7 @@
 		vrele(vp);
 	if (so)
 		fputsock(so);
+	if (error == ERESTART)
+		error = EINTR;
 	return (error);
 }


More information about the p4-projects mailing list