diff options
author | Julius Bünger <buenger@mytum.de> | 2015-02-15 17:19:39 +0000 |
---|---|---|
committer | Julius Bünger <buenger@mytum.de> | 2015-02-15 17:19:39 +0000 |
commit | b3d821fae66b2b020b4b89190559f54742d16317 (patch) | |
tree | 919145f01da1700a2fee350bd82772c84de64f24 /src/rps/gnunet-service-rps.c | |
parent | 52f6eb0b44a0f6250024ae574fd74f22f7701846 (diff) | |
download | gnunet-b3d821fae66b2b020b4b89190559f54742d16317.tar.gz gnunet-b3d821fae66b2b020b4b89190559f54742d16317.zip |
- restructured peer removal
Diffstat (limited to 'src/rps/gnunet-service-rps.c')
-rw-r--r-- | src/rps/gnunet-service-rps.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/rps/gnunet-service-rps.c b/src/rps/gnunet-service-rps.c index 325abb7a2..ce1b156b4 100644 --- a/src/rps/gnunet-service-rps.c +++ b/src/rps/gnunet-service-rps.c | |||
@@ -1461,7 +1461,8 @@ removeCB (void *cls, struct RPS_Sampler *sampler, | |||
1461 | s = RPS_sampler_count_id (sampler, id); | 1461 | s = RPS_sampler_count_id (sampler, id); |
1462 | if ( 1 >= s ) | 1462 | if ( 1 >= s ) |
1463 | { | 1463 | { |
1464 | if (GNUNET_YES == GNUNET_CONTAINER_multipeermap_contains (peer_map, id)) | 1464 | if (GNUNET_YES == GNUNET_CONTAINER_multipeermap_contains (peer_map, id) |
1465 | && 0 != GNUNET_CRYPTO_cmp_peer_identity (id, &own_identity)) | ||
1465 | { | 1466 | { |
1466 | ctx = GNUNET_CONTAINER_multipeermap_get (peer_map, id); | 1467 | ctx = GNUNET_CONTAINER_multipeermap_get (peer_map, id); |
1467 | if (NULL != ctx->send_channel) | 1468 | if (NULL != ctx->send_channel) |
@@ -1469,12 +1470,15 @@ removeCB (void *cls, struct RPS_Sampler *sampler, | |||
1469 | if (NULL != ctx->mq) | 1470 | if (NULL != ctx->mq) |
1470 | { | 1471 | { |
1471 | GNUNET_MQ_destroy (ctx->mq); | 1472 | GNUNET_MQ_destroy (ctx->mq); |
1473 | ctx->mq = NULL; | ||
1472 | } | 1474 | } |
1473 | // may already be freed at shutdown of cadet | 1475 | // may already be freed at shutdown of cadet |
1474 | //GNUNET_CADET_channel_destroy (ctx->send_channel); | 1476 | // maybe this fails at our own channel |
1477 | GNUNET_CADET_channel_destroy (ctx->send_channel); | ||
1478 | ctx->send_channel = NULL; | ||
1475 | } | 1479 | } |
1476 | // TODO cleanup peer | 1480 | // TODO cleanup peer |
1477 | (void) GNUNET_CONTAINER_multipeermap_remove_all (peer_map, id); | 1481 | //(void) GNUNET_CONTAINER_multipeermap_remove_all (peer_map, id); |
1478 | } | 1482 | } |
1479 | } | 1483 | } |
1480 | } | 1484 | } |