Try to keep the fs->core MQ from growing too large
authorDavid Barksdale <amatus@amat.us>
Wed, 10 Jan 2018 19:15:12 +0000 (13:15 -0600)
committerDavid Barksdale <amatus@amat.us>
Wed, 10 Jan 2018 19:15:12 +0000 (13:15 -0600)
src/fs/gnunet-service-fs_cp.c

index 817aed257b2d016a4fc06858013f45e78083e25b..6e28ca6066bbaa25cb02793aa84c74d8ab2bb980 100644 (file)
@@ -1230,7 +1230,9 @@ handle_p2p_get (void *cls,
                               GNUNET_NO);
     return;
   }
-  if (cp->ppd.pending_replies + cp->delay_queue_size > MAX_QUEUE_PER_PEER)
+  unsigned int queue_size = GNUNET_MQ_get_length (cp->mq);
+  queue_size += cp->ppd.pending_replies + cp->delay_queue_size;
+  if (queue_size > MAX_QUEUE_PER_PEER)
   {
     GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
                 "Peer `%s' has too many replies queued already. Dropping query.\n",