udevd: fix crash when workers time out after exit is signal caught
If udevd receives an exit signal, it releases its reference on the udev monitor in manager_exit(). If at this time a worker is hanging, and if the event timeout for this worker expires before udevd exits, udevd crashes in on_sigchld()->udev_monitor_send_device(), because the monitor has already been freed. Fix this by releasing the main process's monitor ref later, in manager_free().
Loading
Please register or sign in to comment