diff --git a/nix/libstore/gc.cc b/nix/libstore/gc.cc index 16519116e4f..261ea79ab32 100644 --- a/nix/libstore/gc.cc +++ b/nix/libstore/gc.cc @@ -4,6 +4,7 @@ #include #include +#include #include #include @@ -745,7 +746,9 @@ void LocalStore::collectGarbage(const GCOptions & options, GCResults & results) alphabetically first (e.g. /nix/store/000...). This matters when using --max-freed etc. */ vector entries_(entries.begin(), entries.end()); - random_shuffle(entries_.begin(), entries_.end()); + std::random_device seeder; + std::default_random_engine generator(seeder()); + std::shuffle(entries_.begin(), entries_.end(), generator); foreach (vector::iterator, i, entries_) tryToDelete(state, *i);