svn commit: r198018 - user/kmacy/releng_8_fcs/sys/kern

Kip Macy kmacy at FreeBSD.org
Tue Oct 13 04:54:13 UTC 2009


Author: kmacy
Date: Tue Oct 13 04:54:13 2009
New Revision: 198018
URL: http://svn.freebsd.org/changeset/base/198018

Log:
  don't call sowwakeup_locked (dropping the sockbuf lock) until socketref_free is called

Modified:
  user/kmacy/releng_8_fcs/sys/kern/uipc_socket.c

Modified: user/kmacy/releng_8_fcs/sys/kern/uipc_socket.c
==============================================================================
--- user/kmacy/releng_8_fcs/sys/kern/uipc_socket.c	Tue Oct 13 04:40:20 2009	(r198017)
+++ user/kmacy/releng_8_fcs/sys/kern/uipc_socket.c	Tue Oct 13 04:54:13 2009	(r198018)
@@ -3398,8 +3398,6 @@ socketref_free(struct socketref *sr)
 	if (cred != NULL)
 		crfree(cred);
 	vrele(fp->f_vnode);
-	sb->sb_flags &= ~(SB_SENDING|SB_SENDING_TASK);
-	SOCKBUF_UNLOCK(sb);
 	fdrop(fp, NULL);
 	fdrop(sock_fp, NULL);
 	PRELE(p);
@@ -3580,8 +3578,9 @@ sendfile_task_func(void *context, int pe
 	
 done:
 	SOCKBUF_LOCK_ASSERT(sb);
-	sowwakeup_locked(so);
+	sb->sb_flags &= ~(SB_SENDING|SB_SENDING_TASK);
 	socketref_free(sr);
+	sowwakeup_locked(so);
 }
 
 static int


More information about the svn-src-user mailing list