selftests: Use separate stdout and stderr buffers in nettest
When a single instance of nettest is doing both client and server modes, stdout and stderr messages can get interlaced and become unreadable. Allocate a new set of buffers for the child process handling server mode. Signed-off-by: David Ahern <dsahern@gmail.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
6469403c97
commit
f222c37cf7
@ -1707,9 +1707,28 @@ static char *random_msg(int len)
|
||||
|
||||
static int ipc_child(int fd, struct sock_args *args)
|
||||
{
|
||||
char *outbuf, *errbuf;
|
||||
int rc = 1;
|
||||
|
||||
outbuf = malloc(4096);
|
||||
errbuf = malloc(4096);
|
||||
if (!outbuf || !errbuf) {
|
||||
fprintf(stderr, "server: Failed to allocate buffers for stdout and stderr\n");
|
||||
goto out;
|
||||
}
|
||||
|
||||
setbuffer(stdout, outbuf, 4096);
|
||||
setbuffer(stderr, errbuf, 4096);
|
||||
|
||||
server_mode = 1; /* to tell log_msg in case we are in both_mode */
|
||||
|
||||
return do_server(args, fd);
|
||||
rc = do_server(args, fd);
|
||||
|
||||
out:
|
||||
free(outbuf);
|
||||
free(errbuf);
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
static int ipc_parent(int cpid, int fd, struct sock_args *args)
|
||||
|
Loading…
Reference in New Issue
Block a user