mirror of
https://github.com/Ryujinx-NX/Ryujinx.git
synced 2024-11-14 21:17:43 -07:00
Fix race condition on IdDictionary (#333)
This commit is contained in:
parent
827752ec07
commit
0cec4cbee5
@ -8,8 +8,6 @@ namespace Ryujinx.HLE.OsHle
|
||||
{
|
||||
private ConcurrentDictionary<int, object> Objs;
|
||||
|
||||
private int FreeIdHint = 1;
|
||||
|
||||
public IdDictionary()
|
||||
{
|
||||
Objs = new ConcurrentDictionary<int, object>();
|
||||
@ -21,16 +19,6 @@ namespace Ryujinx.HLE.OsHle
|
||||
}
|
||||
|
||||
public int Add(object Data)
|
||||
{
|
||||
if (Objs.TryAdd(FreeIdHint, Data))
|
||||
{
|
||||
return FreeIdHint++;
|
||||
}
|
||||
|
||||
return AddSlow(Data);
|
||||
}
|
||||
|
||||
private int AddSlow(object Data)
|
||||
{
|
||||
for (int Id = 1; Id < int.MaxValue; Id++)
|
||||
{
|
||||
@ -67,8 +55,6 @@ namespace Ryujinx.HLE.OsHle
|
||||
{
|
||||
if (Objs.TryRemove(Id, out object Obj))
|
||||
{
|
||||
FreeIdHint = Id;
|
||||
|
||||
return Obj;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user