[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] [gnunet] branch master updated: fix peer destruction trigge
From: |
gnunet |
Subject: |
[GNUnet-SVN] [gnunet] branch master updated: fix peer destruction triggers |
Date: |
Wed, 01 Feb 2017 13:35:47 +0100 |
This is an automated email from the git hooks/post-receive script.
grothoff pushed a commit to branch master
in repository gnunet.
The following commit(s) were added to refs/heads/master by this push:
new 109db31d3 fix peer destruction triggers
109db31d3 is described below
commit 109db31d37cd76fe8752a06ea4c915f8ccf656cb
Author: Christian Grothoff <address@hidden>
AuthorDate: Wed Feb 1 13:35:48 2017 +0100
fix peer destruction triggers
---
src/cadet/gnunet-service-cadet-new_peer.c | 18 +++++++++++++++---
1 file changed, 15 insertions(+), 3 deletions(-)
diff --git a/src/cadet/gnunet-service-cadet-new_peer.c
b/src/cadet/gnunet-service-cadet-new_peer.c
index 539b04460..a5c05dd9c 100644
--- a/src/cadet/gnunet-service-cadet-new_peer.c
+++ b/src/cadet/gnunet-service-cadet-new_peer.c
@@ -327,6 +327,7 @@ destroy_peer (void *cls)
cp->destroy_task = NULL;
GNUNET_assert (NULL == cp->t);
GNUNET_assert (NULL == cp->core_mq);
+ GNUNET_assert (0 == cp->num_paths);
for (unsigned int i=0;i<cp->path_dll_length;i++)
GNUNET_assert (NULL == cp->path_heads[i]);
GNUNET_assert (0 == GNUNET_CONTAINER_multishortmap_size (cp->connections));
@@ -494,9 +495,8 @@ consider_peer_destroy (struct CadetPeer *cp)
cp);
return;
}
- for (unsigned int i=0;i<cp->path_dll_length;i++)
- if (NULL != cp->path_heads[i])
- return; /* still relevant! */
+ if (0 != cp->num_paths)
+ return; /* still relevant! */
if (NULL != cp->hello)
{
/* relevant only until HELLO expires */
@@ -843,6 +843,13 @@ GCP_path_entry_add (struct CadetPeer *cp,
GCD_search_stop (cp->search_h);
cp->search_h = NULL;
}
+ if (NULL != cp->destroy_task)
+ {
+ /* paths changed, this resets the destroy timeout counter
+ and aborts a destroy task that may no longer be valid
+ to have (as we now have more paths via this peer). */
+ consider_peer_destroy (cp);
+ }
}
@@ -875,6 +882,11 @@ GCP_path_entry_remove (struct CadetPeer *cp,
(DESIRED_CONNECTIONS_PER_TUNNEL > cp->num_paths) )
cp->search_h
= GCD_search (&cp->pid);
+ if (NULL == cp->destroy_task)
+ {
+ /* paths changed, we might now be ready for destruction, check again */
+ consider_peer_destroy (cp);
+ }
}
--
To stop receiving notification emails like this one, please contact
address@hidden
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] [gnunet] branch master updated: fix peer destruction triggers,
gnunet <=