static void CleanVolatileKeys ()
{
long system_btime = GetSystemBootTime ();
string [] roots = new string [] {
UserStore,
MachineStore
};
foreach (string root in roots) {
if (!Directory.Exists (root))
continue;
string btime_file = Path.Combine (root, "last-btime");
string volatile_dir = Path.Combine (root, VolatileDirectoryName);
if (Directory.Exists (volatile_dir)) {
long registered_btime = GetRegisteredBootTime (btime_file);
if (system_btime < 0 || registered_btime < 0 || registered_btime != system_btime)
Directory.Delete (volatile_dir, true);
}
SaveRegisteredBootTime (btime_file, system_btime);
}
}