Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 13 Oct 2009 04:54:13 +0000 (UTC)
From:      Kip Macy <kmacy@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r198018 - user/kmacy/releng_8_fcs/sys/kern
Message-ID:  <200910130454.n9D4sDfq095230@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200910130454.n9D4sDfq095230>