Skip to content

Commit 88698eb

Browse files
committed
Fixed CompareFunction being collected by GC
1 parent 1c36973 commit 88698eb

File tree

2 files changed

+5
-5
lines changed

2 files changed

+5
-5
lines changed

src/LightningDB/DatabaseOptions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ private static void SetNativeCompareFunction(
4949
var compareFunction = CreateNativeCompareFunction(db, comparer);
5050

5151
NativeMethods.Execute(lib => setter.Invoke(lib, compareFunction));
52-
tran.SubTransactionsManager.StoreComparer(comparer);
52+
tran.SubTransactionsManager.StoreCompareFunction(compareFunction);
5353
}
5454

5555
internal void SetComparer(LightningTransaction tran, LightningDatabase db)

src/LightningDB/Factories/TransactionManager.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ class TransactionManager
1616
private readonly ConcurrentDictionary<LightningTransaction, bool> _transactions;
1717

1818
//prevent delegated from being collected by GC by storing them in collection
19-
private readonly ConcurrentDictionary<LightningCompareDelegate, bool> _comparatorsStore;
19+
private readonly ConcurrentDictionary<CompareFunction, bool> _comparatorsStore;
2020

2121
public TransactionManager(LightningEnvironment environment, LightningTransaction parentTransaction)
2222
{
@@ -31,7 +31,7 @@ public TransactionManager(LightningEnvironment environment, LightningTransaction
3131
: IntPtr.Zero;
3232

3333
_transactions = new ConcurrentDictionary<LightningTransaction, bool>();
34-
_comparatorsStore = new ConcurrentDictionary<LightningCompareDelegate, bool>();
34+
_comparatorsStore = new ConcurrentDictionary<CompareFunction, bool>();
3535
}
3636

3737
private void EnsureEnvironmentOpened()
@@ -75,9 +75,9 @@ public void AbortAll()
7575
AbortAll(this);
7676
}
7777

78-
public void StoreComparer(LightningCompareDelegate comparer)
78+
public void StoreCompareFunction(CompareFunction compareFunction)
7979
{
80-
_comparatorsStore.TryAdd(comparer, true);
80+
_comparatorsStore.TryAdd(compareFunction, true);
8181
}
8282
}
8383
}

0 commit comments

Comments
 (0)