library/src/datastructures/BP-HashTable.cc
// iterate through all hashes and display
iterate through all hashes and display
iterate through all hashes and display
HASH_ITER(hh, entry_table, entry, tmp)
		{
			if(entry == table)
				continue;
			data_lock_status  = ERR_FAILURE;
			table_lock_status = ERR_FAILURE;
			if(entry->type != BP_HASH_TABLE_KEYED_ENTRY_TYPE_NAMED_HASH_TABLE)
			{
				data_lock_status = BP_HashRegCheckInData
				(
					hreg,
					entry
				);
				if(data_lock_status == ERR_FAILURE)
					return ERR_FAILURE;
			}
			else
			{
				table_lock_status = BP_HashRegCheckInTable
				(
					hreg,
					entry
				);
				if(table_lock_status == ERR_FAILURE)
					return ERR_FAILURE;
			}
		}
HASH_ITER ( hh , entry_table , entry , tmp ) { if ( entry == table ) continue ; data_lock_status = ERR_FAILURE ; table_lock_status = ERR_FAILURE ; if ( entry -> type != BP_HASH_TABLE_KEYED_ENTRY_TYPE_NAMED_HASH_TABLE ) { data_lock_status = BP_HashRegCheckInData ( hreg , entry ) ; if ( data_lock_status == ERR_FAILURE ) return ERR_FAILURE ; } else { table_lock_status = BP_HashRegCheckInTable ( hreg , entry ) ; if ( table_lock_status == ERR_FAILURE ) return ERR_FAILURE ; } }
iterate through all hashes and display
iterate through all hashes and display
// always skip self references // reset lock status on loop // It's either a data entry or a hash table.  If it's data, just lock it.  If it's a table, // check out the tables member elements. // attempt to checkin the data entry // exit if the lock failed // attempt to checkin the table recursively // exit if the lock failed