[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r27993 - gnunet/src/mesh
From: |
gnunet |
Subject: |
[GNUnet-SVN] r27993 - gnunet/src/mesh |
Date: |
Sat, 13 Jul 2013 16:54:46 +0200 |
Author: bartpolot
Date: 2013-07-13 16:54:45 +0200 (Sat, 13 Jul 2013)
New Revision: 27993
Modified:
gnunet/src/mesh/gnunet-service-mesh.c
Log:
fixes
Modified: gnunet/src/mesh/gnunet-service-mesh.c
===================================================================
--- gnunet/src/mesh/gnunet-service-mesh.c 2013-07-13 12:09:33 UTC (rev
27992)
+++ gnunet/src/mesh/gnunet-service-mesh.c 2013-07-13 14:54:45 UTC (rev
27993)
@@ -2072,6 +2072,12 @@
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"send_fwd_data_ack for %llu\n",
t->bck_rel->mid_recv - 1);
+
+ if (GNUNET_NO == t->reliable)
+ {
+ GNUNET_break_op (0);
+ return;
+ }
msg.header.type = htons (GNUNET_MESSAGE_TYPE_MESH_UNICAST_ACK);
msg.header.size = htons (sizeof (msg));
msg.tid = htonl (t->id.tid);
@@ -2430,18 +2436,20 @@
bitfield = msg->futures;
mid = GNUNET_ntohll (msg->mid);
+ rel = t->fwd_rel;
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"free_sent_buffer %llu %llX\n",
mid, bitfield);
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
- " rel %p, copy %p\n",
- mid, bitfield);
- rel = t->fwd_rel;
- for (i = 0, copy = rel->head_recv;
+ " rel %p, head %p\n",
+ rel, rel->head_sent);
+ for (i = 0, copy = rel->head_sent;
i < 64 && NULL != copy && 0 != bitfield;
- i++, copy = next)
+ i++)
{
- GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, " trying %u\n", i);
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ " trying bit %u (mid %llu)\n",
+ i, mid + i + 1);
mask = 0x1LL << i;
if (0 == (bitfield & mask))
continue;
@@ -2468,15 +2476,16 @@
if (copy->mid > target)
{
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, " next copy %llu\n", copy->mid);
- next = copy;
+ copy = copy->next;
continue;
}
/* Now copy->mid == target, free it */
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "!!! Freeing %llu\n", target);
- copy = copy->next;
+ next = copy->next;
GNUNET_CONTAINER_DLL_remove (rel->head_sent, rel->tail_sent, copy);
GNUNET_free (copy);
+ copy = next;
}
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "free_sent_buffer END\n");
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r27993 - gnunet/src/mesh,
gnunet <=