X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fprocd.git;a=blobdiff_plain;f=hotplug.c;h=f7e2ce9767befbeeef6c2e8dc36d5ae2c05a4a59;hp=6583de46b0409273c8f194eeade4a3a295eba374;hb=32f1c6e4679b6e0737616f3e58528531e826a3ce;hpb=54108c71df643b35a5684e9bce4551543f63ddc4 diff --git a/hotplug.c b/hotplug.c index 6583de4..f7e2ce9 100644 --- a/hotplug.c +++ b/hotplug.c @@ -422,13 +422,11 @@ void hotplug(char *rules) nls.nl_groups = -1; if ((hotplug_fd.fd = socket(PF_NETLINK, SOCK_DGRAM | SOCK_CLOEXEC, NETLINK_KOBJECT_UEVENT)) == -1) { - ERROR("Failed to open hotplug socket\n"); - perror("socket"); + ERROR("Failed to open hotplug socket: %s\n", strerror(errno)); exit(1); } if (bind(hotplug_fd.fd, (void *)&nls, sizeof(struct sockaddr_nl))) { - ERROR("Failed to bind hotplug socket\n"); - perror("socket"); + ERROR("Failed to bind hotplug socket: %s\n", strerror(errno)); exit(1); } @@ -436,3 +434,9 @@ void hotplug(char *rules) queue_proc.cb = queue_proc_cb; uloop_fd_add(&hotplug_fd, ULOOP_READ); } + +void hotplug_shutdown(void) +{ + uloop_fd_delete(&hotplug_fd); + close(hotplug_fd.fd); +}