Commit e4b68317 authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

Resync object leak check

parent 0aee55f5
...@@ -305,40 +305,33 @@ static void vlc_object_destroy( vlc_object_t *p_this ) ...@@ -305,40 +305,33 @@ static void vlc_object_destroy( vlc_object_t *p_this )
free( p_this->psz_header ); free( p_this->psz_header );
if( p_this->p_libvlc == NULL )
{
#ifndef NDEBUG #ifndef NDEBUG
libvlc_global_data_t *p_global = (libvlc_global_data_t *)p_this; if( VLC_OBJECT(p_this->p_libvlc) == p_this )
{
assert( p_global == vlc_global() );
/* Test for leaks */ /* Test for leaks */
if (p_priv->next != p_this) vlc_object_t *leaked = p_priv->next;
while( leaked != p_this )
{ {
vlc_object_t *leaked = p_priv->next, *first = leaked; /* We are leaking this object */
do fprintf( stderr,
{ "ERROR: leaking object (id:%i, type:%s, name:%s)\n",
/* We are leaking this object */ leaked->i_object_id, leaked->psz_object_type,
fprintf( stderr, leaked->psz_object_name );
"ERROR: leaking object (id:%i, type:%s, name:%s)\n", /* Dump object to ease debugging */
leaked->i_object_id, leaked->psz_object_type, vlc_object_dump( leaked );
leaked->psz_object_name ); fflush(stderr);
/* Dump libvlc object to ease debugging */ leaked = vlc_internals (leaked)->next;
vlc_object_dump( leaked ); }
fflush(stderr);
leaked = vlc_internals (leaked)->next;
}
while (leaked != first);
/* Dump global object to ease debugging */ if( p_priv->next != p_this )
/* Dump libvlc object to ease debugging */
vlc_object_dump( p_this ); vlc_object_dump( p_this );
/* Strongly abort, cause we want these to be fixed */ }
abort();
}
#endif #endif
if( p_this->p_libvlc == NULL )
/* We are the global object ... no need to lock. */ /* We are the global object ... no need to lock. */
vlc_mutex_destroy( &structure_lock ); vlc_mutex_destroy( &structure_lock );
}
FREENULL( p_this->psz_object_name ); FREENULL( p_this->psz_object_name );
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment