From a7529c86d9242c236e453773efac2a5a8ff4bab7 Mon Sep 17 00:00:00 2001 From: jl777 Date: Mon, 19 Jun 2017 22:58:40 +0300 Subject: [PATCH] Test --- iguana/exchanges/LP_network.c | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/iguana/exchanges/LP_network.c b/iguana/exchanges/LP_network.c index ec3bf6c42..a1279b840 100644 --- a/iguana/exchanges/LP_network.c +++ b/iguana/exchanges/LP_network.c @@ -99,7 +99,7 @@ uint32_t LP_swapsend(int32_t pairsock,struct basilisk_swap *swap,uint32_t msgbit void LP_psockloop(void *_ptr) { - int32_t i,n,nonz,iter,size=0,sentbytes,sendsock = -1; uint32_t now; struct psock *ptr=0; void *buf=0; struct nn_pollfd pfd,*pfds; char keepalive[512];//,*myipaddr = _ptr; + int32_t i,n,nonz,iter,retval,size=0,sentbytes,sendsock = -1; uint32_t now; struct psock *ptr=0; void *buf=0; struct nn_pollfd pfd,*pfds; char keepalive[512];//,*myipaddr = _ptr; while ( 1 ) { now = (uint32_t)time(NULL); @@ -151,6 +151,7 @@ void LP_psockloop(void *_ptr) } else if ( (pfds[n].revents & POLLIN) != 0 ) { + printf("%s has pollin\n",ptr->sendaddr); if ( (size= nn_recv(ptr->recvsock,&buf,NN_MSG,0)) > 0 ) { ptr->lasttime = now; @@ -176,17 +177,29 @@ void LP_psockloop(void *_ptr) } else if ( (pfds[n].revents & POLLIN) != 0 ) { - ptr->lasttime = now; - sendsock = ptr->recvsock; + printf("%s paired has pollin\n",ptr->sendaddr); + if ( (size= nn_recv(ptr->sendsock,&buf,NN_MSG,0)) > 0 ) + { + ptr->lasttime = now; + sendsock = ptr->recvsock; + break; + } } } n++; } } - if ( iter == 0 && nn_poll(pfds,n,10) <= 0 ) - break; + if ( iter == 0 ) + { + if ( (retval= nn_poll(pfds,n,10)) <= 0 ) + { + printf("nn_poll retval.%d\n",retval); + break; + } + } } portable_mutex_unlock(&LP_psockmutex); + free(pfds); if ( sendsock < 0 ) { for (i=nonz=0; i