]> git.sesse.net Git - vlc/commitdiff
Android: do not screw up the signal mask on error
authorRémi Denis-Courmont <remi@remlab.net>
Fri, 12 Oct 2012 19:22:58 +0000 (22:22 +0300)
committerRémi Denis-Courmont <remi@remlab.net>
Fri, 12 Oct 2012 19:27:08 +0000 (22:27 +0300)
src/android/thread.c

index c98da13263d7ecfaff9800e0874797bf2876685f..e6efa7c0a7643059ed4763c97f572d4736f3561f 100644 (file)
@@ -290,6 +290,10 @@ static void *joinable_thread(void *data)
 static int vlc_clone_attr (vlc_thread_t *th, void *(*entry) (void *),
                            void *data, bool detach)
 {
+    vlc_thread_t thread = malloc (sizeof (*thread));
+    if (unlikely(thread == NULL))
+        return ENOMEM;
+
     int ret;
 
     sigset_t oldset;
@@ -305,10 +309,6 @@ static int vlc_clone_attr (vlc_thread_t *th, void *(*entry) (void *),
         pthread_sigmask (SIG_BLOCK, &set, &oldset);
     }
 
-    vlc_thread_t thread = malloc (sizeof (*thread));
-    if (unlikely(thread == NULL))
-        return ENOMEM;
-
     vlc_atomic_set(&thread->killed, false);
     vlc_atomic_set(&thread->finished, false);
     thread->killable = true;