priod: make sure it compiles on older kernels
This commit is contained in:
parent
047a55640c
commit
5c46d82954
9
priod.c
9
priod.c
|
@ -368,7 +368,7 @@ on_event (const struct pollfd *pfd, struct app_context *ctx)
|
||||||
(struct sockaddr *) &addr, &addr_len);
|
(struct sockaddr *) &addr, &addr_len);
|
||||||
if (len == 0)
|
if (len == 0)
|
||||||
exit_fatal ("socket closed");
|
exit_fatal ("socket closed");
|
||||||
if (len < 0 && errno == EAGAIN)
|
if (len < 0 && (errno == EAGAIN || errno == ENOBUFS))
|
||||||
return;
|
return;
|
||||||
if (len < 0)
|
if (len < 0)
|
||||||
exit_fatal ("recvfrom: %s", strerror (errno));
|
exit_fatal ("recvfrom: %s", strerror (errno));
|
||||||
|
@ -476,9 +476,12 @@ setup_exec_filter (int fd)
|
||||||
|
|
||||||
struct sock_fprog fprog = { .filter = filter, .len = N_ELEMENTS (filter) };
|
struct sock_fprog fprog = { .filter = filter, .len = N_ELEMENTS (filter) };
|
||||||
const int yes = 1;
|
const int yes = 1;
|
||||||
if (setsockopt (fd, SOL_SOCKET, SO_ATTACH_FILTER, &fprog, sizeof fprog) < 0
|
if (setsockopt (fd, SOL_SOCKET, SO_ATTACH_FILTER, &fprog, sizeof fprog) < 0)
|
||||||
|| setsockopt (fd, SOL_NETLINK, NETLINK_NO_ENOBUFS, &yes, sizeof yes) < 0)
|
|
||||||
print_error ("setsockopt: %s", strerror (errno));
|
print_error ("setsockopt: %s", strerror (errno));
|
||||||
|
#if defined SOL_NETLINK && defined NETLINK_NO_ENOBUFS
|
||||||
|
if (setsockopt (fd, SOL_NETLINK, NETLINK_NO_ENOBUFS, &yes, sizeof yes) < 0)
|
||||||
|
print_error ("setsockopt: %s", strerror (errno));
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
|
|
Loading…
Reference in New Issue