mirror of
https://gitlab.xiph.org/xiph/icecast-server.git
synced 2024-12-04 14:46:30 -05:00
proper cleanup of the rwlocks in the avl trees.
This was causing some major memory leakage on win32, but was not seen on unix. Icecast2 on win32 is leakfree again :) svn path=/trunk/avl/; revision=5525
This commit is contained in:
parent
bdeffe42bc
commit
e554386ef0
@ -22,7 +22,7 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* $Id: avl.c,v 1.8 2003/07/29 00:30:36 karl Exp $ */
|
/* $Id: avl.c,v 1.9 2003/10/31 19:18:42 oddsock Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This is a fairly straightfoward translation of a prototype
|
* This is a fairly straightfoward translation of a prototype
|
||||||
@ -93,6 +93,7 @@ avl_tree_free_helper (avl_node * node, avl_free_key_fun_type free_key_fun)
|
|||||||
if (node->right) {
|
if (node->right) {
|
||||||
avl_tree_free_helper (node->right, free_key_fun);
|
avl_tree_free_helper (node->right, free_key_fun);
|
||||||
}
|
}
|
||||||
|
thread_rwlock_destroy (&node->rwlock);
|
||||||
free (node);
|
free (node);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -103,6 +104,7 @@ avl_tree_free (avl_tree * tree, avl_free_key_fun_type free_key_fun)
|
|||||||
avl_tree_free_helper (tree->root->right, free_key_fun);
|
avl_tree_free_helper (tree->root->right, free_key_fun);
|
||||||
}
|
}
|
||||||
if (tree->root) {
|
if (tree->root) {
|
||||||
|
thread_rwlock_destroy(&tree->root->rwlock);
|
||||||
free (tree->root);
|
free (tree->root);
|
||||||
}
|
}
|
||||||
thread_rwlock_destroy(&tree->rwlock);
|
thread_rwlock_destroy(&tree->rwlock);
|
||||||
|
Loading…
Reference in New Issue
Block a user