Skip to content

Commit 8359d44

Browse files
committed
fix: Fixed weakreference logic for pooled memory
1 parent 44fed18 commit 8359d44

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

MLAPI/Serialization/Pooled/BitStreamPool.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,11 @@ public static PooledBitStream GetStream()
2222
if (overflowStreams.Count > 0)
2323
{
2424
if (LogHelper.CurrentLogLevel <= LogLevel.Developer) LogHelper.LogInfo("Retrieving PooledBitStream from overflow pool. Recent burst?");
25-
WeakReference weakStream;
26-
while (!(weakStream = overflowStreams.Dequeue()).IsAlive) ;
25+
26+
WeakReference weakStream = null;
27+
28+
while (overflowStreams.Count > 0 && ((weakStream = overflowStreams.Dequeue()) == null || !weakStream.IsAlive)) ;
29+
2730
if (weakStream.IsAlive) return (PooledBitStream)weakStream.Target;
2831
}
2932

0 commit comments

Comments
 (0)