aboutsummaryrefslogtreecommitdiff
path: root/src/rps/gnunet-service-rps.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/rps/gnunet-service-rps.c')
-rw-r--r--src/rps/gnunet-service-rps.c13
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