Skip to content
  • Ray Strode's avatar
    lib: only track users after act_user_manager_list_users · b1ec3114
    Ray Strode authored
    At the moment, as soon as someone calls
    act_user_manager_get_default() we end up firing of an asynchronous
    call to get a list of all users. This is problematic since not all
    programs using accountsservice want a list of users.
    
    This commit changes the code to only get a list of users when the
    caller invokes act_user_manager_list_users.  This does mean some calls
    that were async before are synchronous now, but user proxies were
    always obtained synchronously, and they're by far the slowest part
    of listing users, so I don't expect this introduce any noticeable
    blocking.
    
    Longer term, to fix the sync i/o bits, I think we should
    probably ditch libaccountsservice and just make accountsservice use
    ObjectManager interfaces over d-bus.
    b1ec3114