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 ); }
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); }