[vlc-devel] commit: vlc_object_kill: remove the libvlc-specific hack ( Rémi Denis-Courmont )

git version control git at videolan.org
Sun Jun 22 19:59:19 CEST 2008


vlc | branch: master | Rémi Denis-Courmont <rdenis at simphalempin.com> | Sun Jun 22 21:01:17 2008 +0300| [4cd43d60fa3746eb86367a46f70ef1e2505b56b2]

vlc_object_kill: remove the libvlc-specific hack

It was causing deadlocks (due to misordering of structure_lock and
object locks). Besides, this hack should not be needed now that we have
libvlc_wait(), and that libvlc_release() explicitly calls
vlc_object_kill as needed.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=4cd43d60fa3746eb86367a46f70ef1e2505b56b2
---

 src/misc/objects.c |   12 ------------
 1 files changed, 0 insertions(+), 12 deletions(-)

diff --git a/src/misc/objects.c b/src/misc/objects.c
index 325c557..8a8e6d2 100644
--- a/src/misc/objects.c
+++ b/src/misc/objects.c
@@ -625,18 +625,6 @@ void __vlc_object_kill( vlc_object_t *p_this )
 
     vlc_object_signal_unlocked( p_this );
     vlc_object_unlock( p_this );
-
-    if (p_this->i_object_type == VLC_OBJECT_LIBVLC)
-    {
-        /* Do not use vlc_list_children() here! We don't want to yield/release
-         * all the children of LibVLC (-> dead lock). This is a hack anyway:
-         * LibVLC should kill its children by itself as it sees fit, as any
-         * other object. */
-        vlc_mutex_lock (&structure_lock);
-        for (int i = 0; i < priv->i_children; i++)
-            vlc_object_kill (priv->pp_children[i]);
-        vlc_mutex_unlock (&structure_lock);
-    }
 }
 
 




More information about the vlc-devel mailing list