CONTRIB: tcploop: use the trash instead of NULL for recv()
NULL is Linux-centric and we're not focused on performance here but portability and reproducibility. Don't use NULL and use the trash instead. It may lead to multiple recv() calls for large blocks but as a benefit it will be possible to see the contents with strace.
This commit is contained in:
parent
24d41b9b4d
commit
a84a2dba94
@ -444,6 +444,7 @@ int tcp_recv(int sock, const char *arg)
|
||||
{
|
||||
int count = -1; // stop at first read
|
||||
int ret;
|
||||
int max;
|
||||
|
||||
if (arg[1]) {
|
||||
count = atoi(arg + 1);
|
||||
@ -454,7 +455,10 @@ int tcp_recv(int sock, const char *arg)
|
||||
}
|
||||
|
||||
while (1) {
|
||||
ret = recv(sock, NULL, (count > 0) ? count : INT_MAX, MSG_NOSIGNAL | MSG_TRUNC);
|
||||
max = (count > 0) ? count : INT_MAX;
|
||||
if (max > sizeof(trash))
|
||||
max = sizeof(trash);
|
||||
ret = recv(sock, trash, max, MSG_NOSIGNAL | MSG_TRUNC);
|
||||
if (ret < 0) {
|
||||
if (errno == EINTR)
|
||||
continue;
|
||||
|
Loading…
Reference in New Issue
Block a user