projects
/
oweals
/
gnunet.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
4438597
)
rps profiler: proper disconnect from service
author
Julius Bünger
<buenger@mytum.de>
Thu, 12 Jul 2018 23:11:32 +0000
(
01:11
+0200)
committer
Julius Bünger
<buenger@mytum.de>
Thu, 12 Jul 2018 23:16:00 +0000
(
01:16
+0200)
src/rps/gnunet-rps-profiler.c
patch
|
blob
|
history
diff --git
a/src/rps/gnunet-rps-profiler.c
b/src/rps/gnunet-rps-profiler.c
index 02259d628bb7d29a39e2582288ef02c83399cd55..a0659876415c6303bf54324a8a8989999354c9b2 100644
(file)
--- a/
src/rps/gnunet-rps-profiler.c
+++ b/
src/rps/gnunet-rps-profiler.c
@@
-883,6
+883,9
@@
static int check_statistics_collect_completed ()
return GNUNET_YES;
}
return GNUNET_YES;
}
+static void
+rps_disconnect_adapter (void *cls,
+ void *op_result);
static void
cancel_pending_req (struct PendingRequest *pending_req)
static void
cancel_pending_req (struct PendingRequest *pending_req)
@@
-928,15
+931,8
@@
clean_peer (unsigned peer_index)
cancel_request (pending_rep);
}
pending_req = rps_peers[peer_index].pending_req_head;
cancel_request (pending_rep);
}
pending_req = rps_peers[peer_index].pending_req_head;
- while (NULL != (pending_req = rps_peers[peer_index].pending_req_head))
- {
- cancel_pending_req (pending_req);
- }
- if (NULL != rps_peers[peer_index].rps_handle)
- {
- GNUNET_RPS_disconnect (rps_peers[peer_index].rps_handle);
- rps_peers[peer_index].rps_handle = NULL;
- }
+ rps_disconnect_adapter (&rps_peers[peer_index],
+ &rps_peers[peer_index].rps_handle);
for (unsigned stat_type = STAT_TYPE_ROUNDS;
stat_type < STAT_TYPE_MAX;
stat_type++)
for (unsigned stat_type = STAT_TYPE_ROUNDS;
stat_type < STAT_TYPE_MAX;
stat_type++)
@@
-1277,6
+1273,7
@@
rps_disconnect_adapter (void *cls,
{
struct RPSPeer *peer = cls;
struct GNUNET_RPS_Handle *h = op_result;
{
struct RPSPeer *peer = cls;
struct GNUNET_RPS_Handle *h = op_result;
+ struct PendingRequest *pending_req;
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"disconnect_adapter (%u)\n",
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"disconnect_adapter (%u)\n",
@@
-1284,6
+1281,10
@@
rps_disconnect_adapter (void *cls,
GNUNET_assert (NULL != peer);
if (NULL != peer->rps_handle)
{
GNUNET_assert (NULL != peer);
if (NULL != peer->rps_handle)
{
+ while (NULL != (pending_req = peer->pending_req_head))
+ {
+ cancel_pending_req (pending_req);
+ }
GNUNET_assert (h == peer->rps_handle);
GNUNET_RPS_disconnect (h);
peer->rps_handle = NULL;
GNUNET_assert (h == peer->rps_handle);
GNUNET_RPS_disconnect (h);
peer->rps_handle = NULL;