From 97397493ec308a17b13a3cea3541965aef8b1ed0 Mon Sep 17 00:00:00 2001 From: Ashesh Vidyut Date: Wed, 29 May 2024 10:54:35 +0530 Subject: [PATCH] fix race --- helpers.go | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/helpers.go b/helpers.go index 936e186..7c19217 100644 --- a/helpers.go +++ b/helpers.go @@ -356,14 +356,13 @@ func (t *Txn[T]) removeChild4(n Node[T], c byte) Node[T] { }) t.trackChannel(n.getChild(pos)) - n.setNumChildren(n.getNumChildren() - 1) copy(n.getKeys()[pos:], n.getKeys()[pos+1:]) children := n.getChildren() copy(children[pos:], children[pos+1:]) - n.setNumChildren(n.getNumChildren() - 1) for itr := 0; itr < int(n.getNumChildren()); itr++ { n.setChild(itr, children[itr]) } + n.setNumChildren(n.getNumChildren() - 1) // Remove nodes with only a single child if n.getNumChildren() == 1 { @@ -402,10 +401,10 @@ func (t *Txn[T]) removeChild16(n Node[T], c byte) Node[T] { copy(n.getKeys()[pos:], n.getKeys()[pos+1:]) children := n.getChildren() copy(children[pos:], children[pos+1:]) - n.setNumChildren(n.getNumChildren() - 1) for itr := 0; itr < int(n.getNumChildren()); itr++ { n.setChild(itr, children[itr]) } + n.setNumChildren(n.getNumChildren() - 1) if n.getNumChildren() == 3 { n.incrementLazyRefCount(-1)