]> git.proxmox.com Git - mirror_frr.git/blobdiff - lib/table.h
Merge pull request #2728 from donaldsharp/table_cleanup
[mirror_frr.git] / lib / table.h
index 8304abe59b38ec5b3b349b1848a412ccf266a9a3..ac7df3e6950b455a93c95354620e2e204baf2293 100644 (file)
@@ -235,13 +235,17 @@ static inline struct route_node *route_lock_node(struct route_node *node)
 }
 
 /* Unlock node. */
-static inline void route_unlock_node(struct route_node *node)
+static inline struct route_node *route_unlock_node(struct route_node *node)
 {
        assert(node->lock > 0);
        (*(unsigned *)&node->lock)--;
 
-       if (node->lock == 0)
+       if (node->lock == 0) {
                route_node_delete(node);
+               return NULL;
+       }
+
+       return node;
 }
 
 /*