diff options
author | Christian Grothoff <christian@grothoff.org> | 2009-11-15 17:45:26 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2009-11-15 17:45:26 +0000 |
commit | be9e0f23d0e24c093597e342024f29b0111f7f9b (patch) | |
tree | c12998e379db3a11393742786b2ab0c051ad98d1 /src/util/connection.c | |
parent | e8e7d2e1cc53e2bfd383a20ebf5f25fbc9ecf98e (diff) | |
download | gnunet-be9e0f23d0e24c093597e342024f29b0111f7f9b.tar.gz gnunet-be9e0f23d0e24c093597e342024f29b0111f7f9b.zip |
clean up address probes during destroy as well
Diffstat (limited to 'src/util/connection.c')
-rw-r--r-- | src/util/connection.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/util/connection.c b/src/util/connection.c index 468fb750c..16ec8dcea 100644 --- a/src/util/connection.c +++ b/src/util/connection.c | |||
@@ -452,6 +452,7 @@ destroy_continuation (void *cls, | |||
452 | { | 452 | { |
453 | struct GNUNET_CONNECTION_Handle *sock = cls; | 453 | struct GNUNET_CONNECTION_Handle *sock = cls; |
454 | GNUNET_CONNECTION_TransmitReadyNotify notify; | 454 | GNUNET_CONNECTION_TransmitReadyNotify notify; |
455 | struct AddressProbe *pos; | ||
455 | 456 | ||
456 | GNUNET_assert (sock->dns_active == NULL); | 457 | GNUNET_assert (sock->dns_active == NULL); |
457 | if (0 != (sock->ccs & COCO_TRANSMIT_READY)) | 458 | if (0 != (sock->ccs & COCO_TRANSMIT_READY)) |
@@ -503,6 +504,13 @@ destroy_continuation (void *cls, | |||
503 | GNUNET_RESOLVER_request_cancel (sock->dns_active); | 504 | GNUNET_RESOLVER_request_cancel (sock->dns_active); |
504 | sock->dns_active = NULL; | 505 | sock->dns_active = NULL; |
505 | } | 506 | } |
507 | while (NULL != (pos = sock->ap_head)) | ||
508 | { | ||
509 | GNUNET_break (GNUNET_OK == GNUNET_NETWORK_socket_close (pos->sock)); | ||
510 | GNUNET_SCHEDULER_cancel (sock->sched, pos->task); | ||
511 | GNUNET_CONTAINER_DLL_remove (sock->ap_head, sock->ap_tail, pos); | ||
512 | GNUNET_free (pos); | ||
513 | } | ||
506 | GNUNET_assert (sock->nth.timeout_task == GNUNET_SCHEDULER_NO_TASK); | 514 | GNUNET_assert (sock->nth.timeout_task == GNUNET_SCHEDULER_NO_TASK); |
507 | GNUNET_assert (sock->ccs == COCO_NONE); | 515 | GNUNET_assert (sock->ccs == COCO_NONE); |
508 | if (NULL != (notify = sock->nth.notify_ready)) | 516 | if (NULL != (notify = sock->nth.notify_ready)) |