From 65c7416fb4ca3dbb3acf11acd3d2a93ba2c59ce1 Mon Sep 17 00:00:00 2001 From: jl777 Date: Sun, 17 Jan 2016 01:33:10 -0300 Subject: [PATCH] test --- iguana/main.c | 40 ++++++++++++++++++---------------------- 1 file changed, 18 insertions(+), 22 deletions(-) diff --git a/iguana/main.c b/iguana/main.c index 3031bd0bf..ac00c1fb4 100644 --- a/iguana/main.c +++ b/iguana/main.c @@ -385,36 +385,32 @@ char *SuperNET_p2p(struct iguana_info *coin,struct iguana_peer *addr,int32_t *de void iguana_exit() { - int32_t i,j,k; char *stopstr = "{\"agent\":\"SuperNET\",\"method\":\"stop\"}"; + int32_t i,j,iter; char *stopstr = "{\"agent\":\"SuperNET\",\"method\":\"stop\"}"; printf("start EXIT\n"); - for (i=0; ipeers.active[j].usock >= 0 && Coins[i]->peers.active[j].supernet != 0 ) - iguana_send_supernet(Coins[i],&Coins[i]->peers.active[j],stopstr,strlen(stopstr)+1,0); - } - } - } - sleep(3); - for (i=0; ipeers.active[j].dead = (uint32_t)time(NULL); - for (k=0; k<3; k++) + for (j=0; jpeers.active[j].usock >= 0 ) - printf("wait for %s\n",Coins[i]->peers.active[j].ipaddr), sleep(1); + switch ( iter ) + { + case 0: + if ( Coins[i]->peers.active[j].usock >= 0 && Coins[i]->peers.active[j].supernet != 0 ) + iguana_send_supernet(Coins[i],&Coins[i]->peers.active[j],stopstr,strlen(stopstr)+1,0); + break; + case 1: Coins[i]->peers.active[j].dead = (uint32_t)time(NULL); break; + case 2: + if ( Coins[i]->peers.active[j].usock >= 0 ) + closesocket(Coins[i]->peers.active[j].usock); + break; + } } - if ( Coins[i]->peers.active[j].usock >= 0 ) - closesocket(Coins[i]->peers.active[j].usock); } } + sleep(5); } printf("sockets closed, now EXIT\n"); exit(0);