private Dictionary<string, Host> refresh()
{
lock(locker)
{
long mtime = configFile.LastWriteTime.ToBinary();
if (mtime != lastModified)
{
try
{
FileStream s = new FileStream(configFile.FullName, System.IO.FileMode.Open, FileAccess.Read);
try
{
hosts = parse(s);
}
finally
{
s.Close();
}
}
catch (FileNotFoundException)
{
hosts = new Dictionary<string, Host>();
}
catch (IOException)
{
hosts = new Dictionary<string, Host>();
}
lastModified = mtime;
}
return hosts;
}
}