Revert r222688.

Requested by:	Mikolaj Golub
This commit is contained in:
Maxim Sobolev 2011-06-16 08:31:06 +00:00
parent 72d8b2903f
commit e0455434b4
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=223143

View File

@ -194,8 +194,6 @@ int
proto_common_recv(int sock, unsigned char *data, size_t size, int *fdp) proto_common_recv(int sock, unsigned char *data, size_t size, int *fdp)
{ {
ssize_t done; ssize_t done;
size_t total_done, recvsize;
unsigned char *dp;
PJDLOG_ASSERT(sock >= 0); PJDLOG_ASSERT(sock >= 0);
@ -212,19 +210,9 @@ proto_common_recv(int sock, unsigned char *data, size_t size, int *fdp)
PJDLOG_ASSERT(data != NULL); PJDLOG_ASSERT(data != NULL);
PJDLOG_ASSERT(size > 0); PJDLOG_ASSERT(size > 0);
total_done = 0;
dp = data;
do { do {
recvsize = size - total_done; done = recv(sock, data, size, MSG_WAITALL);
recvsize = recvsize < MAX_SEND_SIZE ? recvsize : MAX_SEND_SIZE; } while (done == -1 && errno == EINTR);
done = recv(sock, dp, recvsize, MSG_WAITALL);
if (done == -1 && errno == EINTR)
continue;
if (done <= 0)
break;
total_done += done;
dp += done;
} while (total_done < size);
if (done == 0) { if (done == 0) {
return (ENOTCONN); return (ENOTCONN);
} else if (done < 0) { } else if (done < 0) {