+ if( !p_sys->exiting ) /* <- Read-only here and in thread: no locking */
+ {
+ vlc_mutex_lock( &p_sys->lock );
+ p_sys->exiting = true;
+ vlc_cond_signal( &p_sys->wait );
+ vlc_mutex_unlock( &p_sys->lock );
+ vlc_join( p_sys->thread, NULL );
+ }
+ vlc_cond_destroy( &p_sys->wait );
+ vlc_mutex_destroy( &p_sys->lock );
+
+ lua_close( p_sys->L );
+
+ free( p_sys->psz_filename );
+ free( p_sys );