1
0
mirror of https://github.com/ppy/osu.git synced 2025-03-18 06:27:18 +08:00

Add locking on join/leave operations

This commit is contained in:
Dean Herbert 2020-12-08 01:35:29 +09:00
parent fdf025942b
commit ca86524c92

View File

@ -26,16 +26,25 @@ namespace osu.Game.Online.RealtimeMultiplayer
}
}
public void Join(int user)
public MultiplayerRoomUser Join(int userId)
{
lock (writeLock)
users.Add(new MultiplayerRoomUser(user));
var user = new MultiplayerRoomUser(userId);
lock (writeLock) users.Add(user);
return user;
}
public void Leave(int user)
public MultiplayerRoomUser Leave(int userId)
{
lock (writeLock)
users.RemoveAll(u => u.UserID == user);
{
var user = users.Find(u => u.UserID == userId);
if (user == null)
return null;
users.Remove(user);
return user;
}
}
}
}