deadline = now(CLOCK_MONOTONIC) + arg_timeout;
- /* guarantee that the udev daemon isn't pre-processing */
if (getuid() == 0) {
_cleanup_(udev_ctrl_unrefp) UdevCtrl *uctrl = NULL;
- if (udev_ctrl_new(&uctrl) >= 0) {
- r = udev_ctrl_send_ping(uctrl);
- if (r < 0) {
- log_debug_errno(r, "Failed to connect to udev daemon: %m");
- return 0;
- }
+ /* guarantee that the udev daemon isn't pre-processing */
- r = udev_ctrl_wait(uctrl, MAX(5 * USEC_PER_SEC, arg_timeout));
- if (r < 0)
- return log_error_errno(r, "Failed to wait for daemon to reply: %m");
+ r = udev_ctrl_new(&uctrl);
+ if (r < 0)
+ return log_error_errno(r, "Failed to create control socket for udev daemon: %m");
+
+ r = udev_ctrl_send_ping(uctrl);
+ if (r < 0) {
+ log_debug_errno(r, "Failed to connect to udev daemon, ignoring: %m");
+ return 0;
}
+
+ r = udev_ctrl_wait(uctrl, MAX(5 * USEC_PER_SEC, arg_timeout));
+ if (r < 0)
+ return log_error_errno(r, "Failed to wait for daemon to reply: %m");
}
fd = udev_queue_init();