• Thomas Haller's avatar
    core/dbus: stop NMDBusManager and reject future method calls · 3d2da8cd
    Thomas Haller authored
    During shutdown, we will need to still iterate the main loop
    to do a coordinated shutdown. Currently we do not, and we just
    exit, leaving a lot of objects hanging.
    If we are going to fix that, we need during shutdown tell
    NMDBusManager to reject all future operations.
    Note that property getters and "GetManagerObjects" call is not
    blocked. It continues to work.
    Certainly for some operations, we want to allow them to be called even
    during shutdown. However, these have to opt-in.
    This also fixes an uglyness, where nm_dbus_manager_start() would
    get the set-property-handler and the @manager as user-data. However,
    NMDBusManager will always outlife NMManager, hence, after NMManager
    is destroyed, the user-data would be a dangling pointer. Currently
    that is not an issue, because
      - we always leak NMManager
      - we don't run the mainloop during shutdown
main.c 14.4 KB