[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200311221424.GB2125642@mini-arch.hsd1.ca.comcast.net>
Date: Wed, 11 Mar 2020 15:14:24 -0700
From: Stanislav Fomichev <sdf@...ichev.me>
To: Andrii Nakryiko <andrii.nakryiko@...il.com>
Cc: Andrii Nakryiko <andriin@...com>, bpf <bpf@...r.kernel.org>,
Networking <netdev@...r.kernel.org>,
Alexei Starovoitov <ast@...com>,
Daniel Borkmann <daniel@...earbox.net>,
Stanislav Fomichev <sdf@...gle.com>,
Kernel Team <kernel-team@...com>
Subject: Re: [PATCH bpf-next] selftests/bpf: make tcp_rtt test more robust to
failures
On 03/11, Andrii Nakryiko wrote:
> On Wed, Mar 11, 2020 at 1:41 PM Stanislav Fomichev <sdf@...ichev.me> wrote:
> >
> > On 03/11, Andrii Nakryiko wrote:
> > [..]
> > > + pthread_join(tid, &server_res);
> > > + CHECK_FAIL(IS_ERR(server_res));
> >
> > I wonder if we add (move) close(server_fd) before pthread_join(), can we
> > fix this issue without using non-blocking socket? The accept() should
> > return as soon as server_fd is closed so it's essentially your
> > 'server_done'.
>
> That was my first attempt. Amazingly, closing listening socket FD
> doesn't unblock accept()...
Ugh :-(
In this case, feel free to slap:
Reviewed-by: Stanislav Fomichev <sdf@...gle.com>
My only other (minor) suggestion was to add a small delay in the first
loop:
while (!server_done) {
accept()
if (!err) {
udelay(50) <--
continue
}
}
But I suppose that shouldn't be that big of a deal..
Powered by blists - more mailing lists