You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2026/10/13 03:57:43 UTC

(directory-server) 02/02: Added synchronization in AVL tree

This is an automated email from the ASF dual-hosted git repository.

asf-gitbox-commits pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/directory-server.git

commit 4825e9d30608f5a1e0722e5adfcfdd2ecb833844
Author: emmanuel lecharny <el...@apache.org>
AuthorDate: Tue Oct 13 05:57:24 2026 +0200

    Added synchronization in AVL tree
---
 .../apache/directory/server/core/avltree/AvlTreeImpl.java    | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/core-avl/src/main/java/org/apache/directory/server/core/avltree/AvlTreeImpl.java b/core-avl/src/main/java/org/apache/directory/server/core/avltree/AvlTreeImpl.java
index abf498ec51..27add17454 100644
--- a/core-avl/src/main/java/org/apache/directory/server/core/avltree/AvlTreeImpl.java
+++ b/core-avl/src/main/java/org/apache/directory/server/core/avltree/AvlTreeImpl.java
@@ -90,7 +90,7 @@ public class AvlTreeImpl<K> implements AvlTree<K>
     }
 
 
-    private LinkedAvlNode<K> insert( LinkedAvlNode<K> node, K key, KeyHolder<K> holder )
+    private synchronized LinkedAvlNode<K> insert( LinkedAvlNode<K> node, K key, KeyHolder<K> holder )
     {
         int cmp = comparator.compare( key, node.key );
         if ( cmp < 0 )
@@ -225,7 +225,7 @@ public class AvlTreeImpl<K> implements AvlTree<K>
      * @param key the key
      * @return the updated subtree
      */
-    private LinkedAvlNode<K> remove( LinkedAvlNode<K> node, K key, KeyHolder<K> holder )
+    private synchronized LinkedAvlNode<K> remove( LinkedAvlNode<K> node, K key, KeyHolder<K> holder )
     {
         if ( node == null )
         {
@@ -281,7 +281,7 @@ public class AvlTreeImpl<K> implements AvlTree<K>
     }
 
 
-    private LinkedAvlNode<K> deleteMin( LinkedAvlNode<K> node )
+    private synchronized LinkedAvlNode<K> deleteMin( LinkedAvlNode<K> node )
     {
         if ( node.left == null )
         {
@@ -294,7 +294,7 @@ public class AvlTreeImpl<K> implements AvlTree<K>
     }
 
 
-    private LinkedAvlNode<K> rotateRight( LinkedAvlNode<K> x )
+    private synchronized LinkedAvlNode<K> rotateRight( LinkedAvlNode<K> x )
     {
         LinkedAvlNode<K> y = x.left;
         x.left = y.right;
@@ -305,7 +305,7 @@ public class AvlTreeImpl<K> implements AvlTree<K>
     }
 
 
-    private LinkedAvlNode<K> rotateLeft( LinkedAvlNode<K> x )
+    private synchronized LinkedAvlNode<K> rotateLeft( LinkedAvlNode<K> x )
     {
         LinkedAvlNode<K> y = x.right;
         x.right = y.left;
@@ -480,7 +480,7 @@ public class AvlTreeImpl<K> implements AvlTree<K>
      * For an excellent info please read the 
      * <a href="http://en.wikipedia.org/wiki/Avl_tree">Wikipedia article on AVL tree</a>.
      */
-    private LinkedAvlNode<K> balance( LinkedAvlNode<K> node )
+    private synchronized LinkedAvlNode<K> balance( LinkedAvlNode<K> node )
     {
         if ( getBalance( node ) < -1 )
         {