Skip to content
  • Alban Crequy's avatar
    add new phase: GSM_MANAGER_PHASE_EARLY_INITIALIZATION · 3e8f8d08
    Alban Crequy authored
    gnome-initial-setup-copy-worker and gnome-keyring (and others) used to be
    started automatically by the session manager during the
    GSM_MANAGER_PHASE_INITIALIZATION phase. This is racy because gnome-keyring
    could read its file ~/.local/share/keyrings/login.keyring before it is written
    by gnome-initial-setup-copy-worker. The correct solution is to wait
    gnome-initial-setup-copy-worker finishes before starting other components in
    the initialization phase.
    
    I want to enforce this order without adding knowledge of gnome-initial-setup in
    gnome-keyring and others. It must also work on systems which don't use
    gnome-initial-setup. So I don't use a flag file in gnome-keyring's
    AutostartCondition to delay its startup.
    
    Instead, I add a new phase GSM_MANAGER_PHASE_EARLY_INITIALIZATION before the
    initialization phase. If no autostart desktop files use that phase,
    gnome-session will just go on to the next phase. But if
    gnome-initial-setup-copy-worker uses this new pha...
    3e8f8d08