Avoid trying to disconnect a neighbour twice
[oweals/gnunet.git] / src / transport / plugin_transport_udp.c
index c638b6668203e527d8ed4e7cdec393669c5218f6..4db28b45c11f48f9a6d8bb0b7d6ed4fa8e20f0c4 100644 (file)
@@ -1901,7 +1901,7 @@ udp_plugin_send (void *cls,
                               GNUNET_NO);
     GNUNET_STATISTICS_update (plugin->env->stats,
                               "# UDP, unfragmented bytes payload queued total",
-                              udpw->payload_size,
+                              msgbuf_size,
                               GNUNET_NO);
   }
   else
@@ -3255,8 +3255,9 @@ udp_plugin_select_v4 (void *cls,
   plugin->select_task_v4 = NULL;
   if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN))
     return;
+  if (NULL == plugin->sockv4)
+    return;
   if ((0 != (tc->reason & GNUNET_SCHEDULER_REASON_READ_READY)) &&
-      (NULL != plugin->sockv4) &&
       (GNUNET_NETWORK_fdset_isset (tc->read_ready,
                                    plugin->sockv4)))
     udp_select_read (plugin,
@@ -3284,12 +3285,14 @@ udp_plugin_select_v6 (void *cls,
   plugin->select_task_v6 = NULL;
   if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN))
     return;
+  if (NULL == plugin->sockv6)
+    return;
   if ( (0 != (tc->reason & GNUNET_SCHEDULER_REASON_READ_READY)) &&
-       (NULL != plugin->sockv6) &&
        (GNUNET_NETWORK_fdset_isset (tc->read_ready,
                                     plugin->sockv6)) )
     udp_select_read (plugin,
                      plugin->sockv6);
+
   udp_select_send (plugin,
                    plugin->sockv6);
   schedule_select_v6 (plugin);