mirror of
https://github.com/PixlOne/logiops.git
synced 2025-07-13 21:02:43 +08:00
Merge pull request #375 from PixlOne/udev-enum-fix
Do not terminate on bad udev device
This commit is contained in:
commit
30ade71edf
@ -135,13 +135,17 @@ void DeviceMonitor::enumerate() {
|
|||||||
const char* name = udev_list_entry_get_name(udev_enum_entry);
|
const char* name = udev_list_entry_get_name(udev_enum_entry);
|
||||||
|
|
||||||
struct udev_device* device = udev_device_new_from_syspath(_udev_context, name);
|
struct udev_device* device = udev_device_new_from_syspath(_udev_context, name);
|
||||||
if (!device)
|
if (device) {
|
||||||
throw std::runtime_error("udev_device_new_from_syspath failed");
|
const char* dev_node_cstr = udev_device_get_devnode(device);
|
||||||
|
if (dev_node_cstr) {
|
||||||
|
const std::string dev_node {dev_node_cstr};
|
||||||
|
udev_device_unref(device);
|
||||||
|
|
||||||
std::string dev_node = udev_device_get_devnode(device);
|
_addHandler(dev_node);
|
||||||
udev_device_unref(device);
|
} else {
|
||||||
|
udev_device_unref(device);
|
||||||
_addHandler(dev_node);
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
udev_enumerate_unref(udev_enum);
|
udev_enumerate_unref(udev_enum);
|
||||||
|
Loading…
Reference in New Issue
Block a user