]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
descrambler: fix locking
authorJaroslav Kysela <perex@perex.cz>
Sat, 10 Feb 2018 07:08:02 +0000 (08:08 +0100)
committerJaroslav Kysela <perex@perex.cz>
Sat, 10 Feb 2018 07:08:02 +0000 (08:08 +0100)
src/descrambler/descrambler.c

index 26c06378b0edb4070b46d99d56a3eefbf8cb76c3..a62ef1bd5257d65007be4ea18e7c9ca7981f6d82 100644 (file)
@@ -638,10 +638,12 @@ descrambler_keys ( th_descrambler_t *td, int type, uint16_t pid,
     for (j = 0; j < DESCRAMBLER_MAX_KEYS; j++) {
       tk = &dr->dr_keys[j];
       pid2 = tk->key_pid;
-      if (pid2)
+      if (pid2) {
+        pthread_mutex_unlock(&t->s_stream_mutex);
         descrambler_keys(td, type, pid2, even, odd);
+        pthread_mutex_lock(&t->s_stream_mutex);
+      }
     }
-    pthread_mutex_lock(&t->s_stream_mutex);
     goto end;
   }