mirror of
https://github.com/systemd/systemd.git
synced 2025-03-31 14:50:15 +03:00
sd-rtnl: don't fall over when receiving 0 bytes from the socket
causes EOF. Seems like a kernel bug. Ignoring it seems to work be the best we can do for now... See https://bugs.freedesktop.org/show_bug.cgi?id=88397
This commit is contained in:
parent
b621bfd231
commit
da53c5516e
@ -1350,9 +1350,11 @@ static int socket_recv_message(int fd, struct iovec *iov, uint32_t *_group, bool
|
||||
log_debug("rtnl: no data in socket");
|
||||
|
||||
return (errno == EAGAIN || errno == EINTR) ? 0 : -errno;
|
||||
} else if (r == 0)
|
||||
/* connection was closed by the kernel */
|
||||
return -ECONNRESET;
|
||||
} else if (r == 0) {
|
||||
/* connection was closed by the kernel? */
|
||||
log_warning("rtnl: ignoring empty message");
|
||||
return 0;
|
||||
}
|
||||
|
||||
for (cmsg = CMSG_FIRSTHDR(&msg); cmsg; cmsg = CMSG_NXTHDR(&msg, cmsg)) {
|
||||
if (cmsg->cmsg_level == SOL_SOCKET &&
|
||||
|
Loading…
x
Reference in New Issue
Block a user