1
0
mirror of https://github.com/systemd/systemd.git synced 2025-03-09 12:58:26 +03:00

libudev-monitor: rename monitor_set_nl_address() and make it return negative errno

This commit is contained in:
Yu Watanabe 2018-08-24 16:47:30 +09:00
parent be1791ad6a
commit a062a72f1b

View File

@ -94,20 +94,20 @@ static struct udev_monitor *udev_monitor_new(struct udev *udev) {
return udev_monitor; return udev_monitor;
} }
static void monitor_set_nl_address(struct udev_monitor *udev_monitor) { static int udev_monitor_set_nl_address(struct udev_monitor *udev_monitor) {
union sockaddr_union snl; union sockaddr_union snl;
socklen_t addrlen; socklen_t addrlen;
int r;
assert(udev_monitor); assert(udev_monitor);
/* get the address the kernel has assigned us /* Get the address the kernel has assigned us.
* it is usually, but not necessarily the pid * It is usually, but not necessarily the pid. */
*/
addrlen = sizeof(struct sockaddr_nl); addrlen = sizeof(struct sockaddr_nl);
r = getsockname(udev_monitor->sock, &snl.sa, &addrlen); if (getsockname(udev_monitor->sock, &snl.sa, &addrlen) < 0)
if (r >= 0) return -errno;
udev_monitor->snl.nl.nl_pid = snl.nl.nl_pid;
udev_monitor->snl.nl.nl_pid = snl.nl.nl_pid;
return 0;
} }
struct udev_monitor *udev_monitor_new_from_netlink_fd(struct udev *udev, const char *name, int fd) { struct udev_monitor *udev_monitor_new_from_netlink_fd(struct udev *udev, const char *name, int fd) {
@ -154,7 +154,7 @@ struct udev_monitor *udev_monitor_new_from_netlink_fd(struct udev *udev, const c
} else { } else {
udev_monitor->bound = true; udev_monitor->bound = true;
udev_monitor->sock = fd; udev_monitor->sock = fd;
monitor_set_nl_address(udev_monitor); udev_monitor_set_nl_address(udev_monitor);
} }
udev_monitor->snl.nl.nl_family = AF_NETLINK; udev_monitor->snl.nl.nl_family = AF_NETLINK;
@ -349,7 +349,7 @@ _public_ int udev_monitor_enable_receiving(struct udev_monitor *udev_monitor)
} }
if (err >= 0) if (err >= 0)
monitor_set_nl_address(udev_monitor); udev_monitor_set_nl_address(udev_monitor);
else else
return log_debug_errno(errno, "bind failed: %m"); return log_debug_errno(errno, "bind failed: %m");