-
Peter Hutterer authored
When using logind, this causes the server to hang when a split device is unplugged. The reason is mostly in the server, when open the device by requesting the logind fd, the server loops through the device list to check if any other device has the same major/minor (see systemd_logind_take_fd()) and returns the pInfo->fd for that device instead of requesting the fd again from logind. For libinput devices, the pInfo->fd is the epollfd, not the actual device, so our second device gets the epollfd assigned. When the devices are removed, we keep the device fd open and release the epollfd through logind. This reverts commit c943739a.
83dfd31e