aboutsummaryrefslogtreecommitdiff
path: root/src/cadet/gnunet-service-cadet-new_tunnels.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2017-01-29 20:20:48 +0100
committerChristian Grothoff <christian@grothoff.org>2017-01-29 20:20:48 +0100
commit087042f41a8264c418bb453cfeda4ca48d54276e (patch)
tree38a5c05cd0337256e5729ba206fdc3d920d2c22e /src/cadet/gnunet-service-cadet-new_tunnels.c
parent9f4bc1121c34560a72a09db49e5b163a64eb5b06 (diff)
downloadgnunet-087042f41a8264c418bb453cfeda4ca48d54276e.tar.gz
gnunet-087042f41a8264c418bb453cfeda4ca48d54276e.zip
fix shutdown sequence
Diffstat (limited to 'src/cadet/gnunet-service-cadet-new_tunnels.c')
-rw-r--r--src/cadet/gnunet-service-cadet-new_tunnels.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/cadet/gnunet-service-cadet-new_tunnels.c b/src/cadet/gnunet-service-cadet-new_tunnels.c
index e41164220..1afd75bb2 100644
--- a/src/cadet/gnunet-service-cadet-new_tunnels.c
+++ b/src/cadet/gnunet-service-cadet-new_tunnels.c
@@ -2037,6 +2037,7 @@ destroy_tunnel (void *cls)
2037 GNUNET_free (t->unverified_ax); 2037 GNUNET_free (t->unverified_ax);
2038 } 2038 }
2039 cleanup_ax (&t->ax); 2039 cleanup_ax (&t->ax);
2040 GNUNET_assert (NULL == t->destroy_task);
2040 GNUNET_free (t); 2041 GNUNET_free (t);
2041} 2042}
2042 2043
@@ -2061,12 +2062,14 @@ GCT_remove_channel (struct CadetTunnel *t,
2061 GNUNET_CONTAINER_multihashmap32_remove (t->channels, 2062 GNUNET_CONTAINER_multihashmap32_remove (t->channels,
2062 ntohl (ctn.cn), 2063 ntohl (ctn.cn),
2063 ch)); 2064 ch));
2064 if (0 == 2065 if ( (0 ==
2065 GCT_count_channels (t)) 2066 GCT_count_channels (t)) &&
2067 (NULL == t->destroy_task) )
2066 { 2068 {
2067 t->destroy_task = GNUNET_SCHEDULER_add_delayed (IDLE_DESTROY_DELAY, 2069 t->destroy_task
2068 &destroy_tunnel, 2070 = GNUNET_SCHEDULER_add_delayed (IDLE_DESTROY_DELAY,
2069 t); 2071 &destroy_tunnel,
2072 t);
2070 } 2073 }
2071} 2074}
2072 2075