get_rp_key (rp), rp));
while (NULL != (bi = rp->pe_head))
{
+ prd = GSF_pending_request_get_data_ (bi->pr);
GNUNET_CONTAINER_MDLL_remove (PE, rp->pe_head, rp->pe_tail, bi);
GNUNET_CONTAINER_MDLL_remove (PR, prd->pr_head, prd->pr_tail, bi);
GNUNET_free (bi);
*
* @param pr_head request plan reference list to check.
* @param sender the peer that we've sent the request to.
- * @param result the timestamp to fill.
+ * @param result the timestamp to fill, set to "FOREVER" if never transmitted
* @return GNUNET_YES if 'result' was changed, GNUNET_NO otherwise.
*/
int
{
if (bi->rp->pp->cp == sender)
{
- *result = bi->rp->last_transmission;
+ if (0 == bi->rp->last_transmission.abs_value)
+ *result = GNUNET_TIME_UNIT_FOREVER_ABS;
+ else
+ *result = bi->rp->last_transmission;
return GNUNET_YES;
}
}
prd = GSF_pending_request_get_data_ (pr);
while (NULL != (bi = prd->pr_head))
{
+ rp = bi->rp;
GNUNET_CONTAINER_MDLL_remove (PR, prd->pr_head, prd->pr_tail, bi);
GNUNET_CONTAINER_MDLL_remove (PE, rp->pe_head, rp->pe_tail, bi);
- rp = bi->rp;
if (NULL == rp->pe_head)
{
GNUNET_CONTAINER_heap_remove_node (rp->hn);