Skip to content
  • Christian Hergert's avatar
    config: refactor config providers to be less racey · 1ab088f0
    Christian Hergert authored
    We had a number of issues in practice with configuration providers where
    things would race and as well as some unsafe threading/false-sharing.
    
    This redesigns those components to avoid a number of issues in thread
    safety.
    
    There doesn't seem to be any regressions. However, it has pointed out
    a few things that are/were broken in the flatpak configuration provider.
    We will address those as part of a revamped build preferences that is
    more pluggable (See #344 and #352).
    
    Another piece that would be nice to apply on top of this is tracking
    the last selected configuration so when restarting Builder we keep
    the same config active (See #338).
    
    Fixes #359
    1ab088f0