1
0
mirror of https://github.com/ppy/osu.git synced 2025-03-28 10:17:19 +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) var user = new MultiplayerRoomUser(userId);
users.Add(new MultiplayerRoomUser(user)); lock (writeLock) users.Add(user);
return user;
} }
public void Leave(int user) public MultiplayerRoomUser Leave(int userId)
{ {
lock (writeLock) 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;
}
} }
} }
} }