[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r25978 - gnunet/src/testbed
From: |
gnunet |
Subject: |
[GNUnet-SVN] r25978 - gnunet/src/testbed |
Date: |
Fri, 1 Feb 2013 16:04:49 +0100 |
Author: harsha
Date: 2013-02-01 16:04:49 +0100 (Fri, 01 Feb 2013)
New Revision: 25978
Modified:
gnunet/src/testbed/gnunet-service-testbed_cache.c
Log:
- fix
Modified: gnunet/src/testbed/gnunet-service-testbed_cache.c
===================================================================
--- gnunet/src/testbed/gnunet-service-testbed_cache.c 2013-02-01 14:49:19 UTC
(rev 25977)
+++ gnunet/src/testbed/gnunet-service-testbed_cache.c 2013-02-01 15:04:49 UTC
(rev 25978)
@@ -238,6 +238,11 @@
* The id of the peer this entry corresponds to
*/
unsigned int peer_id;
+
+ /**
+ * Is this entry in LRU cache queue?
+ */
+ unsigned int in_lru;
};
@@ -309,7 +314,7 @@
struct ConnectNotifyContext *ctxt;
GNUNET_assert (0 == entry->demand);
- if ((NULL != entry->next) || (NULL != entry->prev))
+ if (GNUNET_YES == entry->in_lru)
{
GNUNET_assert (0 < lru_cache_size);
GNUNET_CONTAINER_DLL_remove (lru_cache_head, lru_cache_tail, entry);
@@ -695,11 +700,13 @@
entry = cache_lookup (&key);
if (NULL != entry)
{
- if (0 == entry->demand)
+ if (GNUNET_YES == entry->in_lru)
{
+ GNUNET_assert (0 == entry->demand);
GNUNET_assert (0 < lru_cache_size);
GNUNET_CONTAINER_DLL_remove (lru_cache_head, lru_cache_tail, entry);
lru_cache_size--;
+ entry->in_lru = GNUNET_NO;
}
switch (cgh->type)
{
@@ -859,9 +866,10 @@
}
GNUNET_free (cgh);
if (0 == entry->demand)
- {
+ {
GNUNET_CONTAINER_DLL_insert_tail (lru_cache_head, lru_cache_tail, entry);
lru_cache_size++;
+ entry->in_lru = GNUNET_YES;
if (lru_cache_size > lru_cache_threshold_size)
close_handles (lru_cache_head);
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r25978 - gnunet/src/testbed,
gnunet <=