fix: use infinite lock timeout on write thread

This commit is contained in:
Dean Sheather
2024-05-26 06:29:49 +10:00
parent 34ef2ef584
commit dc9fbbddd9
+4 -4
View File
@@ -242,7 +242,7 @@ internal class Tab
public void AddPrune(Message message, int max) public void AddPrune(Message message, int max)
{ {
rwl.AcquireWriterLock(0); rwl.AcquireWriterLock(-1);
try try
{ {
AddLocked(message); AddLocked(message);
@@ -256,7 +256,7 @@ internal class Tab
public void AddSortPrune(IEnumerable<Message> messages, int max) public void AddSortPrune(IEnumerable<Message> messages, int max)
{ {
rwl.AcquireWriterLock(0); rwl.AcquireWriterLock(-1);
try try
{ {
foreach (var message in messages) foreach (var message in messages)
@@ -282,7 +282,7 @@ internal class Tab
public void Clear() public void Clear()
{ {
rwl.AcquireWriterLock(0); rwl.AcquireWriterLock(-1);
try try
{ {
messages.Clear(); messages.Clear();
@@ -312,7 +312,7 @@ internal class Tab
/// GetReadOnly returns a read-only list of messages while holding a /// GetReadOnly returns a read-only list of messages while holding a
/// reader lock. The list should be used with a using statement. /// reader lock. The list should be used with a using statement.
/// </summary> /// </summary>
public RLockedMessageList GetReadOnly(int millisecondsTimeout = 0) public RLockedMessageList GetReadOnly(int millisecondsTimeout = -1)
{ {
rwl.AcquireReaderLock(millisecondsTimeout); rwl.AcquireReaderLock(millisecondsTimeout);
return new RLockedMessageList(rwl, messages); return new RLockedMessageList(rwl, messages);