コード例 #1
0
ファイル: ringbuffer.c プロジェクト: emoon/foundation_lib
static void _ringbuffer_stream_finalize( stream_t* stream )
{
	stream_ringbuffer_t* bufferstream = (stream_ringbuffer_t*)stream;

	if( !bufferstream || ( stream->type != STREAMTYPE_RINGBUFFER ) )
		return;

	semaphore_finalize( &bufferstream->signal_read );
	semaphore_finalize( &bufferstream->signal_write );
}
コード例 #2
0
void
lua_deallocate(lua_t* env) {
	if (!env)
		return;

	FOUNDATION_ASSERT(env->calldepth == 0);
	FOUNDATION_ASSERT(env->state);

	lua_gc(env->state, LUA_GCCOLLECT, 0);

	lua_module_registry_finalize(env->state);

	lua_close(env->state);

#if BUILD_ENABLE_LUA_THREAD_SAFE
	semaphore_finalize(&env->execution_right);
#endif

	memory_deallocate(env);
}