1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-20 08:58:00 +02:00

Thread protection for project cache

This commit is contained in:
Brian Fiete 2020-09-30 07:39:53 -07:00
parent c58e30e005
commit 41858b3dc5

View file

@ -756,13 +756,18 @@ namespace IDE
} }
public void ClearProjectNameCache() public void ClearProjectNameCache()
{
using (mMonitor.Enter())
{ {
for (var key in mProjectNameMap.Keys) for (var key in mProjectNameMap.Keys)
delete key; delete key;
mProjectNameMap.Clear(); mProjectNameMap.Clear();
} }
}
public void AddProjectToCache(Project project) public void AddProjectToCache(Project project)
{
using (mMonitor.Enter())
{ {
void Add(String name, Project project) void Add(String name, Project project)
{ {
@ -778,8 +783,11 @@ namespace IDE
for (var alias in project.mGeneralOptions.mAliases) for (var alias in project.mGeneralOptions.mAliases)
Add(alias, project); Add(alias, project);
} }
}
public Project FindProject(StringView projectName) public Project FindProject(StringView projectName)
{
using (mMonitor.Enter())
{ {
if (mProjectNameMap.IsEmpty) if (mProjectNameMap.IsEmpty)
{ {
@ -806,6 +814,7 @@ namespace IDE
{ {
return value; return value;
} }
}
return null; return null;
} }