diff options
author | Christian Grothoff <christian@grothoff.org> | 2011-07-14 17:37:30 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2011-07-14 17:37:30 +0000 |
commit | d2e0bd0a9b3b88116d90eca913e4f893ad053f5e (patch) | |
tree | d9191bcd292df0d353ededd1f3e8cf193abce1ff | |
parent | 17ca3db3e5a8a9a7e1f4f7f9c9116ed45d0afa2c (diff) | |
download | gnunet-d2e0bd0a9b3b88116d90eca913e4f893ad053f5e.tar.gz gnunet-d2e0bd0a9b3b88116d90eca913e4f893ad053f5e.zip |
never discard current mc
-rw-r--r-- | src/fragmentation/defragmentation.c | 9 |
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' */ |