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 */
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to