retry_recv:
/* receive header(cmd, datalen) */
len = recv(fd, buf, AUL_PKT_HEADER_SIZE, 0);
- if (len < 0)
+ if (len < 0) {
if (errno == EINTR)
goto retry_recv;
+ }
if (len < AUL_PKT_HEADER_SIZE) {
_E("recv error");
len = 0;
while (len != pkt->len) {
ret = recv(fd, pkt->data + len, pkt->len - len, 0);
+ if (ret == 0) {
+ _E("EOF. fd(%d), len(%d), pkt->len(%d)",
+ fd, len, pkt->len);
+ free(pkt);
+ return NULL;
+ }
+
if (ret < 0) {
- _E("recv error %d %d", len, pkt->len);
+ _E("recv() is failed. fd(%d), len(%d), pkt->len(%d)",
+ fd, len, pkt->len);
free(pkt);
return NULL;
}