library/src/datastructures/BP-HashTable.cc
// Attempts to checkout a hash table at a provided path.  The third parameter
// determines whether or not the routine will attempt to block until locking
// the table (checking it out) completes.
Attempts to checkout a hash table at a provided path.  The third parameter
determines whether or not the routine will attempt to block until locking
the table (checking it out) completes.
Attempts to checkout a hash table at a provided path . The third parameter determines whether or not the routine will attempt to block until locking the table ( checking it out ) completes .
BP_ERROR_T BP_HashRegCheckOutTableByPath
(
	P_BP_HASH_TABLE_REGISTRY      hreg,
	BP_HASH_TABLE_TRAVERSAL_PATH  table_path,
	BP_BOOL                       block_till_checkout_established
)
{
	BP_GLOBAL_HASH_TABLE_OVERRIDE(ERR_FAILURE);
	if(!table_path)
		return ERR_FAILURE;
	if(!table_path[0])
		return ERR_FAILURE;
	P_BP_HASH_TABLE_KEYED_ENTRY tmp_lookup = BP_HashRegLookupTableByPath(hreg, table_path);
	if(!tmp_lookup)
		return ERR_FAILURE;
	return BP_HashRegCheckOutTable
	(
		hreg,
		tmp_lookup,
		block_till_checkout_established
	);
}
BP_ERROR_T BP_HashRegCheckOutTableByPath ( P_BP_HASH_TABLE_REGISTRY hreg , BP_HASH_TABLE_TRAVERSAL_PATH table_path , BP_BOOL block_till_checkout_established ) { BP_GLOBAL_HASH_TABLE_OVERRIDE ( ERR_FAILURE ) ; if ( ! table_path ) return ERR_FAILURE ; if ( ! table_path [ 0 ] ) return ERR_FAILURE ; P_BP_HASH_TABLE_KEYED_ENTRY tmp_lookup = BP_HashRegLookupTableByPath ( hreg , table_path ) ; if ( ! tmp_lookup ) return ERR_FAILURE ; return BP_HashRegCheckOutTable ( hreg , tmp_lookup , block_till_checkout_established ) ; }
Attempts to checkout a hash table at a provided path.
Attempts to checkout a hash table at a provided path .
// macro to override hreg on null // ensure we have a table path to work with // attempt to lookup the table // attempt to (recursively) checkout the table after lookup