diff --git a/http_check/src/http_check.c b/http_check/src/http_check.c index 7732eaf..e80ab56 100644 --- a/http_check/src/http_check.c +++ b/http_check/src/http_check.c @@ -161,7 +161,7 @@ int readNlSock(int sockFd, char *bufPtr, int seqNum, int pId) { struct nlmsghdr *nlHdr = NULL; int readLen = 0, msgLen = 0; - do{ + while(1){ //收到内核的应答 if((readLen = recv(sockFd, bufPtr, BUFSIZE - msgLen, 0)) < 0) { @@ -192,12 +192,11 @@ int readNlSock(int sockFd, char *bufPtr, int seqNum, int pId) bufPtr += readLen; msgLen += readLen; } - if((nlHdr->nlmsg_flags & NLM_F_MULTI) == 0) { break; } - } while((nlHdr->nlmsg_seq != seqNum) || (nlHdr->nlmsg_pid != pId)); + } return msgLen; }