svn commit: r197342 - head/sys/netinet

Michael Tuexen tuexen at FreeBSD.org
Sun Sep 20 11:33:40 UTC 2009


Author: tuexen
Date: Sun Sep 20 11:33:39 2009
New Revision: 197342
URL: http://svn.freebsd.org/changeset/base/197342

Log:
  Fix handling of sctp_drain().
  
  Approved by: rrs (mentor)
  MFC after: 2 month

Modified:
  head/sys/netinet/sctp_pcb.c

Modified: head/sys/netinet/sctp_pcb.c
==============================================================================
--- head/sys/netinet/sctp_pcb.c	Sun Sep 20 11:32:22 2009	(r197341)
+++ head/sys/netinet/sctp_pcb.c	Sun Sep 20 11:33:39 2009	(r197342)
@@ -6585,17 +6585,20 @@ sctp_drain()
 	 * occur. We really hope this does NOT happen!
 	 */
 	VNET_ITERATOR_DECL(vnet_iter);
-
-	SCTP_STAT_INCR(sctps_protocol_drain_calls);
-	if (SCTP_BASE_SYSCTL(sctp_do_drain) == 0) {
-		return;
-	}
 	VNET_LIST_RLOCK_NOSLEEP();
 	VNET_FOREACH(vnet_iter) {
 		CURVNET_SET(vnet_iter);
 		struct sctp_inpcb *inp;
 		struct sctp_tcb *stcb;
 
+		SCTP_STAT_INCR(sctps_protocol_drain_calls);
+		if (SCTP_BASE_SYSCTL(sctp_do_drain) == 0) {
+#ifdef VIMAGE
+			continue;
+#else
+			return;
+#endif
+		}
 		SCTP_INP_INFO_RLOCK();
 		LIST_FOREACH(inp, &SCTP_BASE_INFO(listhead), sctp_list) {
 			/* For each endpoint */


More information about the svn-src-all mailing list