* @param client the client to send the reply to
* @param message the encapsulated message to send
* @param uid the unique identifier of this request
+ * @param key key
*/
static void
send_reply_to_client (struct ClientList *client,
GNUNET_free (record);
}
if (source_info->delete_task != GNUNET_SCHEDULER_NO_TASK)
- GNUNET_SCHEDULER_cancel (source_info->delete_task);
+ {
+ GNUNET_SCHEDULER_cancel (source_info->delete_task);
+ source_info->delete_task = GNUNET_SCHEDULER_NO_TASK;
+ }
if (source_info->find_peers_responded != NULL)
GNUNET_CONTAINER_bloomfilter_free (source_info->find_peers_responded);
GNUNET_free (source_info);
GNUNET_CONTAINER_DLL_remove (record->head, record->tail, pos);
GNUNET_CONTAINER_heap_remove_node (forward_list.minHeap, pos->hnode);
if (pos->delete_task != GNUNET_SCHEDULER_NO_TASK)
- GNUNET_SCHEDULER_cancel (pos->delete_task);
-
+ {
+ GNUNET_SCHEDULER_cancel (pos->delete_task);
+ pos->delete_task = GNUNET_SCHEDULER_NO_TASK;
+ }
if (pos->find_peers_responded != NULL)
GNUNET_CONTAINER_bloomfilter_free (pos->find_peers_responded);
GNUNET_free (pos);
/* If the client is non-null (local request) and the client matches the requesting client, remove the entry. */
if ((pos->client != NULL) && (pos->client->client_handle == client))
{
- GNUNET_SCHEDULER_cancel (pos->delete_task);
- pos->delete_task = GNUNET_SCHEDULER_NO_TASK;
- GNUNET_SCHEDULER_add_continuation (&remove_forward_entry, pos,
- GNUNET_SCHEDULER_REASON_PREREQ_DONE);
+ if (pos->delete_task != GNUNET_SCHEDULER_NO_TASK)
+ GNUNET_SCHEDULER_cancel (pos->delete_task);
+ pos->delete_task = GNUNET_SCHEDULER_add_now (&remove_forward_entry, pos);
}
pos = pos->next;
}
* Core handler for p2p route requests.
*
* @param cls closure
+ * @param message message
* @param peer peer identity this notification is about
* @param atsi performance data
*
* Core handler for p2p route results.
*
* @param cls closure
+ * @param message message
* @param peer peer identity this notification is about
* @param atsi performance data
*