aboutsummaryrefslogtreecommitdiff
path: root/src/fragmentation/defragmentation.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2011-07-14 17:37:30 +0000
committerChristian Grothoff <christian@grothoff.org>2011-07-14 17:37:30 +0000
commitd2e0bd0a9b3b88116d90eca913e4f893ad053f5e (patch)
treed9191bcd292df0d353ededd1f3e8cf193abce1ff /src/fragmentation/defragmentation.c
parent17ca3db3e5a8a9a7e1f4f7f9c9116ed45d0afa2c (diff)
downloadgnunet-d2e0bd0a9b3b88116d90eca913e4f893ad053f5e.tar.gz
gnunet-d2e0bd0a9b3b88116d90eca913e4f893ad053f5e.zip
never discard current mc
Diffstat (limited to 'src/fragmentation/defragmentation.c')
-rw-r--r--src/fragmentation/defragmentation.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/fragmentation/defragmentation.c b/src/fragmentation/defragmentation.c
index 1d62484b5..34db0db3a 100644
--- a/src/fragmentation/defragmentation.c
+++ b/src/fragmentation/defragmentation.c
@@ -393,7 +393,10 @@ discard_oldest_mc (struct GNUNET_DEFRAGMENT_Context *dc)
393 old); 393 old);
394 dc->list_size--; 394 dc->list_size--;
395 if (GNUNET_SCHEDULER_NO_TASK != old->ack_task) 395 if (GNUNET_SCHEDULER_NO_TASK != old->ack_task)
396 GNUNET_SCHEDULER_cancel (old->ack_task); 396 {
397 GNUNET_SCHEDULER_cancel (old->ack_task);
398 old->ack_task = GNUNET_SCHEDULER_NO_TASK;
399 }
397 GNUNET_free (old); 400 GNUNET_free (old);
398} 401}
399 402
@@ -483,12 +486,12 @@ GNUNET_DEFRAGMENT_process_fragment (struct GNUNET_DEFRAGMENT_Context *dc,
483 mc->bits = UINT64_MAX; /* set all 64 bit */ 486 mc->bits = UINT64_MAX; /* set all 64 bit */
484 else 487 else
485 mc->bits = (1LL << n) - 1; /* set lowest 'bits' bit */ 488 mc->bits = (1LL << n) - 1; /* set lowest 'bits' bit */
489 if (dc->list_size >= dc->num_msgs)
490 discard_oldest_mc (dc);
486 GNUNET_CONTAINER_DLL_insert (dc->head, 491 GNUNET_CONTAINER_DLL_insert (dc->head,
487 dc->tail, 492 dc->tail,
488 mc); 493 mc);
489 dc->list_size++; 494 dc->list_size++;
490 if (dc->list_size > dc->num_msgs)
491 discard_oldest_mc (dc);
492 } 495 }
493 496
494 /* copy data to 'mc' */ 497 /* copy data to 'mc' */