Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,8 @@ internal Hashtable CategoryTable
{
get
{
if (_categoryTable == null)
Hashtable categoryTable = _categoryTable;
if (categoryTable == null)
{
lock (_categoryTableLock)
{
Expand Down Expand Up @@ -194,26 +195,29 @@ internal Hashtable CategoryTable

_categoryTable = tempCategoryTable;
}

categoryTable = _categoryTable;
}
}

return _categoryTable;
return categoryTable;
}
}

internal Hashtable HelpTable
{
get
{
if (_helpTable == null)
Hashtable helpTable = _helpTable;
if (helpTable == null)
{
lock (_helpTableLock)
{
_helpTable ??= GetStringTable(true);
helpTable = _helpTable ??= GetStringTable(true);
}
}

return _helpTable;
return helpTable;
}
}

Expand Down Expand Up @@ -246,15 +250,16 @@ internal Hashtable NameTable
{
get
{
if (_nameTable == null)
Hashtable nameTable = _nameTable;
if (nameTable == null)
{
lock (_nameTableLock)
{
_nameTable ??= GetStringTable(false);
nameTable = _nameTable ??= GetStringTable(false);
}
}

return _nameTable;
return nameTable;
}
}

Expand Down Expand Up @@ -329,10 +334,13 @@ internal static void CloseAllLibraries()

internal static void CloseAllTables()
{
if (s_libraryTable != null)
lock (InternalSyncObject)
{
foreach (PerformanceCounterLib library in s_libraryTable.Values)
library.CloseTables();
if (s_libraryTable != null)
{
foreach (PerformanceCounterLib library in s_libraryTable.Values)
library.CloseTables();
}
}
}

Expand Down
Loading