Reduce some allocations with the magic of spans etc.

This commit is contained in:
cvium
2021-04-30 15:09:36 +02:00
parent eeb5d4bd1e
commit 608cba817c
9 changed files with 267 additions and 95 deletions

View File

@@ -269,14 +269,17 @@ namespace Emby.Server.Implementations.SyncPlay
var user = _userManager.GetUserById(session.UserId);
List<GroupInfoDto> list = new List<GroupInfoDto>();
foreach (var group in _groups.Values)
lock (_groupsLock)
{
// Locking required as group is not thread-safe.
lock (group)
foreach (var (_, group) in _groups)
{
if (group.HasAccessToPlayQueue(user))
// Locking required as group is not thread-safe.
lock (group)
{
list.Add(group.GetInfo());
if (group.HasAccessToPlayQueue(user))
{
list.Add(group.GetInfo());
}
}
}
}