Browse Source

test

release/v0.1
jl777 9 years ago
parent
commit
65c7416fb4
  1. 30
      iguana/main.c

30
iguana/main.c

@ -385,36 +385,32 @@ char *SuperNET_p2p(struct iguana_info *coin,struct iguana_peer *addr,int32_t *de
void iguana_exit() 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"); printf("start EXIT\n");
for (i=0; i<IGUANA_MAXCOINS; i++) for (iter=0; iter<3; iter++)
{
if ( Coins[i] != 0 )
{
for (j=0; j<IGUANA_MAXPEERS; j++)
{ {
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);
}
}
}
sleep(3);
for (i=0; i<IGUANA_MAXCOINS; i++) for (i=0; i<IGUANA_MAXCOINS; i++)
{ {
if ( Coins[i] != 0 ) if ( Coins[i] != 0 )
{ {
for (j=0; j<IGUANA_MAXPEERS; j++) for (j=0; j<IGUANA_MAXPEERS; j++)
{ {
Coins[i]->peers.active[j].dead = (uint32_t)time(NULL); switch ( iter )
for (k=0; k<3; k++)
{ {
if ( Coins[i]->peers.active[j].usock >= 0 ) case 0:
printf("wait for %s\n",Coins[i]->peers.active[j].ipaddr), sleep(1); 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 ) if ( Coins[i]->peers.active[j].usock >= 0 )
closesocket(Coins[i]->peers.active[j].usock); closesocket(Coins[i]->peers.active[j].usock);
break;
}
}
} }
} }
sleep(5);
} }
printf("sockets closed, now EXIT\n"); printf("sockets closed, now EXIT\n");
exit(0); exit(0);

Loading…
Cancel
Save