Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
[usb-moded] Fix issues on exit path. MER#1694
Exiting from mainloop does not work as intended, looks like handle_exit() is meant to be called from main() function after mainloop is stopped. What happens in practice is that handle_exit() gets called from signal handler and it makes exit() without ever returning to main() function - which means some cleanup tasks are skipped. In general: Make cleanup tasks happen on the same logical level where initialization is made, re-order init/cleanup tasks according to what functional inter dependencies exist and add comments describing why things are done when they are done. Remove handle_exit() function and distribute work it used to do among: - usb_moded_stop() - exiting from mainloop - usb_moded_cleanup() - releasing usb-mode related state/config data - main() - cleaning up init steps made from main() To make possible ordering issues more visible, refuse to send usb-moded dbus signals in situations where the service name is not owned by the ubs-moded process. Signed-off-by: Simo Piiroinen <simo.piiroinen@jollamobile.com>
- Loading branch information