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:
parent
fdf025942b
commit
ca86524c92
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user