]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
dvbcam: another lock order fix
authorJaroslav Kysela <perex@perex.cz>
Wed, 17 Jan 2018 18:49:04 +0000 (19:49 +0100)
committerJaroslav Kysela <perex@perex.cz>
Wed, 17 Jan 2018 18:49:04 +0000 (19:49 +0100)
src/descrambler/dvbcam.c

index c23bcf670bae2291302ee29cbaf558fd6aa67912..d9a3e40498cdb1b0d75b0539ef42493d4ac27c02 100644 (file)
@@ -200,7 +200,7 @@ dvbcam_register_cam(linuxdvb_ca_t * lca, uint16_t * caids,
 reterr:
   pthread_mutex_unlock(&dvbcam_mutex);
 
-  if (call_update == NULL)
+  if (call_update)
     dvbcam_status_update();
 
 }
@@ -213,6 +213,7 @@ dvbcam_unregister_cam(linuxdvb_ca_t *lca)
 {
   dvbcam_active_cam_t *ac, *ac_next;
   dvbcam_active_service_t *as;
+  int call_update;
 
   tvhtrace(LS_DVBCAM, "unregister cam %s", lca->lca_name);
 
@@ -235,10 +236,12 @@ dvbcam_unregister_cam(linuxdvb_ca_t *lca)
     }
   }
 
-  if (TAILQ_EMPTY(&dvbcam_active_cams))
-    dvbcam_status_update();
+  call_update = TAILQ_EMPTY(&dvbcam_active_cams);
 
   pthread_mutex_unlock(&dvbcam_mutex);
+
+  if (call_update)
+    dvbcam_status_update();
 }
 
 /*