diff options
-rw-r--r-- | src/rps/gnunet-rps-profiler.c | 7 | ||||
-rw-r--r-- | src/rps/gnunet-service-rps.c | 13 | ||||
-rw-r--r-- | src/rps/gnunet-service-rps_custommap.c | 9 |
3 files changed, 20 insertions, 9 deletions
diff --git a/src/rps/gnunet-rps-profiler.c b/src/rps/gnunet-rps-profiler.c index 82aeffb79..908dcca17 100644 --- a/src/rps/gnunet-rps-profiler.c +++ b/src/rps/gnunet-rps-profiler.c | |||
@@ -3067,9 +3067,10 @@ run (void *cls, | |||
3067 | } | 3067 | } |
3068 | else | 3068 | else |
3069 | { | 3069 | { |
3070 | duration = GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, | 3070 | duration = GNUNET_TIME_relative_multiply ( |
3071 | (timeout.rel_value_us / 1000000) | 3071 | GNUNET_TIME_UNIT_SECONDS, |
3072 | * 0.75); | 3072 | ( (double) timeout.rel_value_us / (double) 1000000) |
3073 | * 0.75); | ||
3073 | } | 3074 | } |
3074 | } | 3075 | } |
3075 | else | 3076 | else |
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 | ||
diff --git a/src/rps/gnunet-service-rps_custommap.c b/src/rps/gnunet-service-rps_custommap.c index 54e361d32..392c29397 100644 --- a/src/rps/gnunet-service-rps_custommap.c +++ b/src/rps/gnunet-service-rps_custommap.c | |||
@@ -206,6 +206,7 @@ CustomPeerMap_remove_peer (const struct CustomPeerMap *c_peer_map, | |||
206 | struct GNUNET_PeerIdentity *p; | 206 | struct GNUNET_PeerIdentity *p; |
207 | uint32_t *last_index; | 207 | uint32_t *last_index; |
208 | struct GNUNET_PeerIdentity *last_p; | 208 | struct GNUNET_PeerIdentity *last_p; |
209 | int ret; | ||
209 | 210 | ||
210 | if (GNUNET_NO == CustomPeerMap_contains_peer (c_peer_map, | 211 | if (GNUNET_NO == CustomPeerMap_contains_peer (c_peer_map, |
211 | peer)) | 212 | peer)) |
@@ -234,9 +235,11 @@ CustomPeerMap_remove_peer (const struct CustomPeerMap *c_peer_map, | |||
234 | last_p); | 235 | last_p); |
235 | GNUNET_assert (NULL != last_index); | 236 | GNUNET_assert (NULL != last_index); |
236 | GNUNET_assert (CustomPeerMap_size (c_peer_map) == *last_index); | 237 | GNUNET_assert (CustomPeerMap_size (c_peer_map) == *last_index); |
237 | GNUNET_CONTAINER_multihashmap32_put (c_peer_map->hash_map, | 238 | ret = GNUNET_CONTAINER_multihashmap32_put (c_peer_map->hash_map, |
238 | *index, last_p, | 239 | *index, |
239 | GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_ONLY); | 240 | last_p, |
241 | GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_ONLY); | ||
242 | GNUNET_assert (GNUNET_OK == ret); | ||
240 | GNUNET_CONTAINER_multihashmap32_remove_all (c_peer_map->hash_map, | 243 | GNUNET_CONTAINER_multihashmap32_remove_all (c_peer_map->hash_map, |
241 | *last_index); | 244 | *last_index); |
242 | *last_index = *index; | 245 | *last_index = *index; |