return host;
error:
+ if( httpd->i_host <= 0 )
+ {
+ vlc_object_release( httpd );
+ vlc_object_detach( httpd );
+ vlc_object_destroy( httpd );
+ }
vlc_mutex_unlock( lockval.p_address );
if( fd != -1 )
vlc_object_destroy( host );
}
- /* TODO destroy no more used httpd TODO */
- vlc_object_release( httpd );
return NULL;
}
var_Get( httpd->p_libvlc, "httpd_mutex", &lockval );
vlc_mutex_lock( lockval.p_address );
- vlc_object_release( httpd );
-
host->i_ref--;
if( host->i_ref > 0 )
{
if( httpd->i_host <= 0 )
{
msg_Info( httpd, "httpd doesn't reference any host, deleting" );
+ vlc_object_release( httpd );
vlc_object_detach( httpd );
vlc_object_destroy( httpd );
}