diff options
Diffstat (limited to 'src/rps/gnunet-service-rps.c')
-rw-r--r-- | src/rps/gnunet-service-rps.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/rps/gnunet-service-rps.c b/src/rps/gnunet-service-rps.c index dc4c5dab7..cccd1a4b3 100644 --- a/src/rps/gnunet-service-rps.c +++ b/src/rps/gnunet-service-rps.c | |||
@@ -2637,7 +2637,7 @@ insert_in_sampler (void *cls, | |||
2637 | } | 2637 | } |
2638 | #ifdef TO_FILE | 2638 | #ifdef TO_FILE |
2639 | sub->num_observed_peers++; | 2639 | sub->num_observed_peers++; |
2640 | GNUNET_CONTAINER_multipeermap_put | 2640 | (void) GNUNET_CONTAINER_multipeermap_put |
2641 | (sub->observed_unique_peers, | 2641 | (sub->observed_unique_peers, |
2642 | peer, | 2642 | peer, |
2643 | NULL, | 2643 | NULL, |
@@ -2836,13 +2836,20 @@ cleanup_destroyed_channel (void *cls, | |||
2836 | (void) channel; | 2836 | (void) channel; |
2837 | 2837 | ||
2838 | channel_ctx->channel = NULL; | 2838 | channel_ctx->channel = NULL; |
2839 | remove_channel_ctx (channel_ctx); | ||
2840 | if ((NULL != peer_ctx) && | 2839 | if ((NULL != peer_ctx) && |
2841 | (peer_ctx->send_channel_ctx == channel_ctx) && | 2840 | (peer_ctx->send_channel_ctx == channel_ctx) && |
2842 | (GNUNET_YES == check_sending_channel_needed (channel_ctx->peer_ctx)) ) | 2841 | (GNUNET_YES == check_sending_channel_needed (peer_ctx)) ) |
2843 | { | 2842 | { |
2843 | remove_channel_ctx (channel_ctx); | ||
2844 | remove_peer (peer_ctx->sub, &peer_ctx->peer_id); | 2844 | remove_peer (peer_ctx->sub, &peer_ctx->peer_id); |
2845 | } | 2845 | } |
2846 | else | ||
2847 | { | ||
2848 | /* We need this if-else construct because we need to make sure the channel | ||
2849 | * (context) is cleaned up before removing the peer, but still neet to | ||
2850 | * compare it while checking the condition */ | ||
2851 | remove_channel_ctx (channel_ctx); | ||
2852 | } | ||
2846 | } | 2853 | } |
2847 | 2854 | ||
2848 | 2855 | ||