]> git.sesse.net Git - vlc/commitdiff
libvlc: Use mutex_cleanup_push.
authorPierre d'Herbemont <pdherbemont@free.fr>
Wed, 3 Jun 2009 05:57:48 +0000 (22:57 -0700)
committerPierre d'Herbemont <pdherbemont@free.fr>
Wed, 3 Jun 2009 05:59:05 +0000 (22:59 -0700)
src/control/event_async.c

index ef6d6756bebfeab6276adc057062f333f34797db..fb5c15ca17b42beca8f7f1984faa8e68bdfc84ff 100644 (file)
@@ -223,15 +223,18 @@ static void * event_async_loop(void * arg)
     libvlc_event_t event;
 
     vlc_mutex_lock(&queue(p_em)->lock);
-    vlc_cleanup_push(vlc_cleanup_lock, &queue(p_em)->lock);
     while (true) {
         int has_listener = pop(p_em, &listener, &event);
+
+        mutex_cleanup_push(&queue(p_em)->lock);
+
         if (has_listener)
             listener.pf_callback( &event, listener.p_user_data ); // This might edit the queue, ->lock is recursive
         else
             vlc_cond_wait(&queue(p_em)->signal, &queue(p_em)->lock);
+
+        vlc_cleanup_pop();
     }
-    vlc_cleanup_pop();
     vlc_mutex_unlock(&queue(p_em)->lock);
     return NULL;
 }