Esempio n. 1
0
void
uninit_mutexes()
{
	mtx_destroy(&Giant);
	rw_lock_destroy(&ifnet_rwlock);
	mtx_destroy(&gIdStoreLock);
}
Esempio n. 2
0
PackageFSRoot::~PackageFSRoot()
{
	if (fPackageLinksDirectory != NULL)
		fPackageLinksDirectory->ReleaseReference();

	rw_lock_destroy(&fLock);
}
Esempio n. 3
0
status_t
object_depot_init(object_depot* depot, size_t capacity, size_t maxCount,
	uint32 flags, void* cookie, void (*return_object)(object_depot* depot,
		void* cookie, void* object, uint32 flags))
{
	depot->full = NULL;
	depot->empty = NULL;
	depot->full_count = depot->empty_count = 0;
	depot->max_count = maxCount;
	depot->magazine_capacity = capacity;

	rw_lock_init(&depot->outer_lock, "object depot");
	B_INITIALIZE_SPINLOCK(&depot->inner_lock);

	int cpuCount = smp_get_num_cpus();
	depot->stores = (depot_cpu_store*)slab_internal_alloc(
		sizeof(depot_cpu_store) * cpuCount, flags);
	if (depot->stores == NULL) {
		rw_lock_destroy(&depot->outer_lock);
		return B_NO_MEMORY;
	}

	for (int i = 0; i < cpuCount; i++) {
		depot->stores[i].loaded = NULL;
		depot->stores[i].previous = NULL;
	}

	depot->cookie = cookie;
	depot->return_object = return_object;

	return B_OK;
}
Esempio n. 4
0
void
object_depot_destroy(object_depot* depot, uint32 flags)
{
	object_depot_make_empty(depot, flags);

	slab_internal_free(depot->stores, flags);

	rw_lock_destroy(&depot->outer_lock);
}
VMAddressSpace::~VMAddressSpace()
{
	TRACE(("VMAddressSpace::~VMAddressSpace: called on aspace %" B_PRId32 "\n",
		ID()));

	WriteLock();

	delete fTranslationMap;

	rw_lock_destroy(&fLock);
}
Esempio n. 6
0
static status_t
tcp_uninit()
{
	remove_debugger_command("tcp_endpoint", dump_endpoint);
	remove_debugger_command("tcp_endpoints", dump_endpoints);

	rw_lock_destroy(&sEndpointManagersLock);

	for (int i = 0; i < AF_MAX; i++) {
		delete sEndpointManagers[i];
	}

	return B_OK;
}
Esempio n. 7
0
	virtual void Cleanup(TestContext& context, bool setupOK)
	{
		rw_lock_destroy(&fLock);
	}
Esempio n. 8
0
Node::~Node()
{
	rw_lock_destroy(&fLock);
}