struct GNUNET_DATASTORE_QueueEntry *pos;
unsigned int c;
- if ( (h->queue_size == max_queue_size) &&
+ if ( (NULL != h->queue_tail) &&
(h->queue_tail->priority >= queue_priority) )
{
- GNUNET_STATISTICS_update (h->stats,
- gettext_noop ("# queue overflows"),
- 1,
- GNUNET_NO);
- GNUNET_MQ_discard (env);
- return NULL;
+ c = h->queue_size;
+ pos = NULL;
+ }
+ else
+ {
+ c = 0;
+ pos = h->queue_head;
}
-
- c = 0;
- pos = h->queue_head;
while ( (NULL != pos) &&
(c < max_queue_size) &&
(pos->priority >= queue_priority) )