2N/A * The contents of this file are subject to the terms of the 2N/A * Common Development and Distribution License (the "License"). 2N/A * You may not use this file except in compliance with the License. 2N/A * See the License for the specific language governing permissions 2N/A * and limitations under the License. 2N/A * When distributing Covered Code, include this CDDL HEADER in each 2N/A * If applicable, add the following below this CDDL HEADER, with the 2N/A * fields enclosed by brackets "[]" replaced with your own identifying 2N/A * information: Portions Copyright [yyyy] [name of copyright owner] 2N/A * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 2N/A * Use is subject to license terms. 2N/A#
pragma ident "%Z%%M% %I% %E% SMI" 2N/A * The index mark change on every insert and delete, to catch stale 2N/A * We leave the low bit alone, since the avl code uses it. 2N/A * When an element is inactive (not in a tree), we keep a marked pointer to 2N/A * its containing pool in its first word, and a NULL pointer in its second. 2N/A * On insert, we use these to verify that it comes from the correct pool. 2N/A uu_panic(
"uu_avl_pool_destroy: Pool \"%.*s\" (%p) has " 2N/A "outstanding avls, or is corrupt.\n",
2N/A "offset %ld doesn't fit in object (size %ld)\n",
2N/A "offset %ld doesn't match pool's offset (%ld)\n",
2N/A "node already finied\n",
2N/A "node corrupt, in tree, or in different pool\n",
2N/A * invalidate outstanding uu_avl_index_ts. 2N/A * Robust walkers most be advanced, if we are removing the node 2N/A * they are currently using. In debug mode, non-robust walkers 2N/A * are also on the walker list. 2N/A uu_panic(
"uu_avl_find: internal error: avl_find succeeded\n");
2N/A "in tree, or corrupt\n",
2N/A "other pool, or corrupt\n",
2N/A * invalidate outstanding uu_avl_index_ts. 2N/A "outdated index" :
"invalid index");
2N/A "outdated index" :
"invalid index");
2N/A * called from uu_lockup() and uu_release(), as part of our fork1()-safety.