Files
LookingGlass/client/include
Amit Mendapara 75f7d614a7 [client] evdev: split teardown into stop and free phases
evdev_stop was never called, and calling it revealed unsafe teardown:
the device list was freed before the thread was joined, a zero epoll
descriptor was mistaken for a valid one, and the device loops walked
past the end of the array through a sentinel that does not exist.

Join the thread in evdev_stop and defer the rest to the new evdev_free.
The display server grab hooks route into evdev until its event thread
is joined, so the device state must stay valid until the display
server has been freed; evdev_free then restores the hooks and releases
the state.
2026-08-12 02:50:01 +10:00
..
2026-05-31 15:13:57 +10:00
2026-05-31 15:13:57 +10:00