diff options
Diffstat (limited to 'src/transport/plugin_transport_udp.c')
-rw-r--r-- | src/transport/plugin_transport_udp.c | 26 |
1 files changed, 12 insertions, 14 deletions
diff --git a/src/transport/plugin_transport_udp.c b/src/transport/plugin_transport_udp.c index 9ad97449c..87ee25005 100644 --- a/src/transport/plugin_transport_udp.c +++ b/src/transport/plugin_transport_udp.c | |||
@@ -2335,16 +2335,6 @@ libgnunet_plugin_transport_udp_done (void *cls) | |||
2335 | GNUNET_SCHEDULER_cancel (plugin->select_task); | 2335 | GNUNET_SCHEDULER_cancel (plugin->select_task); |
2336 | plugin->select_task = GNUNET_SCHEDULER_NO_TASK; | 2336 | plugin->select_task = GNUNET_SCHEDULER_NO_TASK; |
2337 | } | 2337 | } |
2338 | if (plugin->sockv4 != NULL) | ||
2339 | { | ||
2340 | GNUNET_break (GNUNET_OK == GNUNET_NETWORK_socket_close (plugin->sockv4)); | ||
2341 | plugin->sockv4 = NULL; | ||
2342 | } | ||
2343 | if (plugin->sockv6 != NULL) | ||
2344 | { | ||
2345 | GNUNET_break (GNUNET_OK == GNUNET_NETWORK_socket_close (plugin->sockv6)); | ||
2346 | plugin->sockv6 = NULL; | ||
2347 | } | ||
2348 | 2338 | ||
2349 | if (plugin->broadcast_ipv4) | 2339 | if (plugin->broadcast_ipv4) |
2350 | { | 2340 | { |
@@ -2377,10 +2367,6 @@ libgnunet_plugin_transport_udp_done (void *cls) | |||
2377 | if ( GNUNET_NETWORK_socket_setsockopt( plugin->sockv6, IPPROTO_IPV6, IPV6_LEAVE_GROUP, (char*) &multicastRequest, sizeof(multicastRequest)) == 0 ) | 2367 | if ( GNUNET_NETWORK_socket_setsockopt( plugin->sockv6, IPPROTO_IPV6, IPV6_LEAVE_GROUP, (char*) &multicastRequest, sizeof(multicastRequest)) == 0 ) |
2378 | { | 2368 | { |
2379 | LOG (GNUNET_ERROR_TYPE_DEBUG, "IPv6 Broadcasting stopped\n"); | 2369 | LOG (GNUNET_ERROR_TYPE_DEBUG, "IPv6 Broadcasting stopped\n"); |
2380 | |||
2381 | plugin->send_ipv6_broadcast_task = | ||
2382 | GNUNET_SCHEDULER_add_now (&udp_ipv6_broadcast_send, plugin); | ||
2383 | plugin->broadcast_ipv6 = GNUNET_YES; | ||
2384 | } | 2370 | } |
2385 | else | 2371 | else |
2386 | GNUNET_log_strerror(GNUNET_ERROR_TYPE_ERROR, setsockopt); | 2372 | GNUNET_log_strerror(GNUNET_ERROR_TYPE_ERROR, setsockopt); |
@@ -2394,6 +2380,18 @@ libgnunet_plugin_transport_udp_done (void *cls) | |||
2394 | GNUNET_SERVER_mst_destroy (plugin->broadcast_ipv6_mst); | 2380 | GNUNET_SERVER_mst_destroy (plugin->broadcast_ipv6_mst); |
2395 | } | 2381 | } |
2396 | 2382 | ||
2383 | |||
2384 | if (plugin->sockv4 != NULL) | ||
2385 | { | ||
2386 | GNUNET_break (GNUNET_OK == GNUNET_NETWORK_socket_close (plugin->sockv4)); | ||
2387 | plugin->sockv4 = NULL; | ||
2388 | } | ||
2389 | if (plugin->sockv6 != NULL) | ||
2390 | { | ||
2391 | GNUNET_break (GNUNET_OK == GNUNET_NETWORK_socket_close (plugin->sockv6)); | ||
2392 | plugin->sockv6 = NULL; | ||
2393 | } | ||
2394 | |||
2397 | GNUNET_SERVER_mst_destroy (plugin->mst); | 2395 | GNUNET_SERVER_mst_destroy (plugin->mst); |
2398 | GNUNET_NETWORK_fdset_destroy (plugin->rs); | 2396 | GNUNET_NETWORK_fdset_destroy (plugin->rs); |
2399 | 2397 | ||