Skip to content
Snippets Groups Projects
  • Eelco Dolstra's avatar
    4fca0207
    Handle gc-keep-outputs and gc-keep-derivations both enabled · 4fca0207
    Eelco Dolstra authored
    If the options gc-keep-outputs and gc-keep-derivations are both
    enabled, you can get a cycle in the liveness graph.  There was a hack
    to handle this, but it didn't work with multiple-output derivations,
    causing the garbage collector to fail with errors like ‘error: cannot
    delete path `...' because it is in use by `...'’.  The garbage
    collector now handles strongly connected components in the liveness
    graph as a unit and decides whether to delete all or none of the paths
    in an SCC.
    4fca0207
    History
    Handle gc-keep-outputs and gc-keep-derivations both enabled
    Eelco Dolstra authored
    If the options gc-keep-outputs and gc-keep-derivations are both
    enabled, you can get a cycle in the liveness graph.  There was a hack
    to handle this, but it didn't work with multiple-output derivations,
    causing the garbage collector to fail with errors like ‘error: cannot
    delete path `...' because it is in use by `...'’.  The garbage
    collector now handles strongly connected components in the liveness
    graph as a unit and decides whether to delete all or none of the paths
    in an SCC.