... | ... |
@@ -299,6 +299,11 @@ static void mrecv_ack_del(mdata *data, struct sockaddr_in *addr) |
299 | 299 |
return; |
300 | 300 |
} |
301 | 301 |
lprintf(0, "%s: rid=%d ip=%s sendstate=%d recvstate=%d\n", __func__, m->mdata.head.reqid, inet_ntoa(m->addr.sin_addr), m->mdata.head.nstate, data->head.nstate); |
302 |
+ if(m->mdata.head.nstate == MAKUO_SENDSTATE_CLOSE){ |
|
303 |
+ if(data->head.nstate != MAKUO_RECVSTATE_CLOSE){ |
|
304 |
+ return; |
|
305 |
+ } |
|
306 |
+ } |
|
302 | 307 |
if(!set_hoststate(t, m, data->head.nstate)){ |
303 | 308 |
lprintf(0, "%s: not allocate state area\n", __func__); |
304 | 309 |
return; |