Tue, May 28, 2019 at 10:02:45AM CEST, bgalvani(a)redhat.com wrote:
In some situations it was observed that recvmsg() blocks even if
epoll_wait() reports the netlink socket as ready:
select(15, [3 9 10 14], [], [], NULL) = 1 (in [9])
epoll_wait(9, [{EPOLLIN, {u32=8, u64=8}}], 2, -1) = 1
recvmsg(8, ### blocked
(9 is the epoll fd, 8 the nl_cli event socket).
Probably this is caused by a bug in kernel, however it seems more
robust anyway to set the socket as non-blocking to avoid problems like
this.
Signed-off-by: Beniamino Galvani <bgalvani(a)redhat.com>
applied, thanks.