This commit is contained in:
Shengliang Guan 2021-01-21 19:32:01 +08:00
parent 3980255776
commit cd79df1de2
1 changed files with 11 additions and 3 deletions

View File

@ -140,6 +140,7 @@ void taosStopUdpConnection(void *handle) {
pConn = pSet->udpConn + i;
if (pConn->fd >=0) shutdown(pConn->fd, SHUT_RDWR);
if (pConn->fd >=0) taosCloseSocket(pConn->fd);
pConn->fd = -1;
}
for (int i = 0; i < pSet->threads; ++i) {
@ -197,9 +198,16 @@ static void *taosRecvUdpData(void *param) {
while (1) {
dataLen = recvfrom(pConn->fd, pConn->buffer, RPC_MAX_UDP_SIZE, 0, (struct sockaddr *)&sourceAdd, &addLen);
if(dataLen <= 0) {
tDebug("%s UDP socket was closed, exiting(%s)", pConn->label, strerror(errno));
break;
if (dataLen <= 0) {
tDebug("%s UDP socket was closed, exiting(%s), dataLen:%d fd:%d", pConn->label, strerror(errno), (int32_t)dataLen,
pConn->fd);
//for windows usage, remote shutdown also returns - 1 in windows client
if (pConn->fd == -1) {
break;
} else {
continue;
}
}
port = ntohs(sourceAdd.sin_port);