You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
At the end of the uinput constructor, it calls self._find_device().
This function does the following:
def_find_device(self):
#:bug: the device node might not be immediately availabletime.sleep(0.1)
forpathinutil.list_devices('/dev/input/'):
d=device.InputDevice(path)
ifd.name==self.name:
returnd
If between util.list_devices('/dev/input/'): being called and device.InputDevice(path) being called, the device of path closes, this leads to a thrown exception.
This exception propagates through the constructor, which has opened a filedescriptor from uinput. That fd never closes.