diff options
-rw-r--r-- | src/util/connection.c | 8 | ||||
-rw-r--r-- | src/util/server.c | 3 |
2 files changed, 10 insertions, 1 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)) |
diff --git a/src/util/server.c b/src/util/server.c index e79a824ba..f918ea4ea 100644 --- a/src/util/server.c +++ b/src/util/server.c | |||
@@ -298,9 +298,10 @@ process_listen_socket (void *cls, | |||
298 | "Server accepted incoming connection.\n"); | 298 | "Server accepted incoming connection.\n"); |
299 | #endif | 299 | #endif |
300 | client = GNUNET_SERVER_connect_socket (server, sock); | 300 | client = GNUNET_SERVER_connect_socket (server, sock); |
301 | // GNUNET_CONNECTION_ignore_shutdown (sock, GNUNET_YES); | ||
301 | /* decrement reference count, we don't keep "client" alive */ | 302 | /* decrement reference count, we don't keep "client" alive */ |
302 | GNUNET_SERVER_client_drop (client); | 303 | GNUNET_SERVER_client_drop (client); |
303 | } | 304 | } |
304 | /* listen for more! */ | 305 | /* listen for more! */ |
305 | server->listen_task = GNUNET_SCHEDULER_add_select (server->sched, | 306 | server->listen_task = GNUNET_SCHEDULER_add_select (server->sched, |
306 | GNUNET_SCHEDULER_PRIORITY_HIGH, | 307 | GNUNET_SCHEDULER_PRIORITY_HIGH, |