diff options
Diffstat (limited to 'src/dht/gnunet-service-dht.c')
-rw-r--r-- | src/dht/gnunet-service-dht.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/src/dht/gnunet-service-dht.c b/src/dht/gnunet-service-dht.c index 1bf6613e7..454dfe581 100644 --- a/src/dht/gnunet-service-dht.c +++ b/src/dht/gnunet-service-dht.c | |||
@@ -3590,7 +3590,10 @@ cache_response (struct DHT_MessageContext *msg_ctx) | |||
3590 | GNUNET_free (record); | 3590 | GNUNET_free (record); |
3591 | } | 3591 | } |
3592 | if (source_info->delete_task != GNUNET_SCHEDULER_NO_TASK) | 3592 | if (source_info->delete_task != GNUNET_SCHEDULER_NO_TASK) |
3593 | GNUNET_SCHEDULER_cancel (source_info->delete_task); | 3593 | { |
3594 | GNUNET_SCHEDULER_cancel (source_info->delete_task); | ||
3595 | source_info->delete_task = GNUNET_SCHEDULER_NO_TASK; | ||
3596 | } | ||
3594 | if (source_info->find_peers_responded != NULL) | 3597 | if (source_info->find_peers_responded != NULL) |
3595 | GNUNET_CONTAINER_bloomfilter_free (source_info->find_peers_responded); | 3598 | GNUNET_CONTAINER_bloomfilter_free (source_info->find_peers_responded); |
3596 | GNUNET_free (source_info); | 3599 | GNUNET_free (source_info); |
@@ -4048,8 +4051,10 @@ find_client_records (void *cls, const GNUNET_HashCode * key, void *value) | |||
4048 | GNUNET_CONTAINER_DLL_remove (record->head, record->tail, pos); | 4051 | GNUNET_CONTAINER_DLL_remove (record->head, record->tail, pos); |
4049 | GNUNET_CONTAINER_heap_remove_node (forward_list.minHeap, pos->hnode); | 4052 | GNUNET_CONTAINER_heap_remove_node (forward_list.minHeap, pos->hnode); |
4050 | if (pos->delete_task != GNUNET_SCHEDULER_NO_TASK) | 4053 | if (pos->delete_task != GNUNET_SCHEDULER_NO_TASK) |
4051 | GNUNET_SCHEDULER_cancel (pos->delete_task); | 4054 | { |
4052 | 4055 | GNUNET_SCHEDULER_cancel (pos->delete_task); | |
4056 | pos->delete_task = GNUNET_SCHEDULER_NO_TASK; | ||
4057 | } | ||
4053 | if (pos->find_peers_responded != NULL) | 4058 | if (pos->find_peers_responded != NULL) |
4054 | GNUNET_CONTAINER_bloomfilter_free (pos->find_peers_responded); | 4059 | GNUNET_CONTAINER_bloomfilter_free (pos->find_peers_responded); |
4055 | GNUNET_free (pos); | 4060 | GNUNET_free (pos); |
@@ -4586,10 +4591,9 @@ handle_dht_local_route_stop (void *cls, struct GNUNET_SERVER_Client *client, | |||
4586 | /* If the client is non-null (local request) and the client matches the requesting client, remove the entry. */ | 4591 | /* If the client is non-null (local request) and the client matches the requesting client, remove the entry. */ |
4587 | if ((pos->client != NULL) && (pos->client->client_handle == client)) | 4592 | if ((pos->client != NULL) && (pos->client->client_handle == client)) |
4588 | { | 4593 | { |
4589 | GNUNET_SCHEDULER_cancel (pos->delete_task); | 4594 | if (pos->delete_task != GNUNET_SCHEDULER_NO_TASK) |
4590 | pos->delete_task = GNUNET_SCHEDULER_NO_TASK; | 4595 | GNUNET_SCHEDULER_cancel (pos->delete_task); |
4591 | GNUNET_SCHEDULER_add_continuation (&remove_forward_entry, pos, | 4596 | pos->delete_task = GNUNET_SCHEDULER_add_now (&remove_forward_entry, pos); |
4592 | GNUNET_SCHEDULER_REASON_PREREQ_DONE); | ||
4593 | } | 4597 | } |
4594 | pos = pos->next; | 4598 | pos = pos->next; |
4595 | } | 4599 | } |