gnunet

Main GNUnet Logic
Log | Files | Refs | Submodules | README | LICENSE

commit 7ce988f356461caf32bb409bcf2cd48a749bfccb
parent 787ad33cb683431e22a236b890f0e349e1d3f8fb
Author: Christian Grothoff <christian@grothoff.org>
Date:   Sun, 13 May 2018 19:05:52 +0200

fix shutdown order

Diffstat:
Msrc/gns/gnunet-gns-benchmark.c | 19+++++++++----------
1 file changed, 9 insertions(+), 10 deletions(-)

diff --git a/src/gns/gnunet-gns-benchmark.c b/src/gns/gnunet-gns-benchmark.c @@ -96,12 +96,12 @@ struct Request * Observed latency, set once we got a reply. */ struct GNUNET_TIME_Relative latency; - + /** * Category of the request. */ enum RequestCategory cat; - + }; @@ -252,7 +252,7 @@ process_queue (void *cls) if (NULL == (req = todo_head)) { struct GNUNET_TIME_Absolute at; - + if (NULL == (req = act_head)) { GNUNET_SCHEDULER_shutdown (); @@ -327,7 +327,7 @@ do_shutdown (void *cls) rp[rc] = 0; } for (req = succ_head;NULL != req; req = req->next) - { + { GNUNET_assert (rp[req->cat] < replies[req->cat]); ra[req->cat][rp[req->cat]++] = req; } @@ -377,12 +377,6 @@ do_shutdown (void *cls) failures[rc]); GNUNET_free (ra[rc]); } - - if (NULL != gns) - { - GNUNET_GNS_disconnect (gns); - gns = NULL; - } if (NULL != t) { GNUNET_SCHEDULER_cancel (t); @@ -409,6 +403,11 @@ do_shutdown (void *cls) req); free_request (req); } + if (NULL != gns) + { + GNUNET_GNS_disconnect (gns); + gns = NULL; + } }