From 6357447a4a294e799410b7d989d7b6a681e7d429 Mon Sep 17 00:00:00 2001
From: 0xboobface <0xboobface@gmail.com>
Date: Sun, 5 Aug 2018 17:06:13 +0200
Subject: [PATCH] Removed some unnecessary nested locks

---
 .../java/ctbrec/recorder/LocalRecorder.java   | 53 ++++++++-----------
 1 file changed, 22 insertions(+), 31 deletions(-)

diff --git a/src/main/java/ctbrec/recorder/LocalRecorder.java b/src/main/java/ctbrec/recorder/LocalRecorder.java
index ec96a6da..cc590d33 100644
--- a/src/main/java/ctbrec/recorder/LocalRecorder.java
+++ b/src/main/java/ctbrec/recorder/LocalRecorder.java
@@ -102,35 +102,29 @@ public class LocalRecorder implements Recorder {
     }
 
     private void startRecordingProcess(Model model) throws IOException {
-        lock.lock();
-        LOG.debug("Waiting for lock to restart recording for {}", model.getName());
-        try {
-            LOG.debug("Restart recording for model {}", model.getName());
-            if(recordingProcesses.containsKey(model)) {
-                LOG.error("A recording for model {} is already running", model);
-                return;
-            }
-
-            if(!models.contains(model)) {
-                LOG.info("Model {} has been removed. Restarting of recording cancelled.", model);
-                return;
-            }
-
-            Download download = new HlsDownload(client);
-            recordingProcesses.put(model, download);
-            new Thread() {
-                @Override
-                public void run() {
-                    try {
-                        download.start(model, config);
-                    } catch (IOException e) {
-                        LOG.error("Download failed. Download alive: {}", download.isAlive(), e);
-                    }
-                }
-            }.start();
-        } finally {
-            lock.unlock();
+        LOG.debug("Restart recording for model {}", model.getName());
+        if (recordingProcesses.containsKey(model)) {
+            LOG.error("A recording for model {} is already running", model);
+            return;
         }
+
+        if (!models.contains(model)) {
+            LOG.info("Model {} has been removed. Restarting of recording cancelled.", model);
+            return;
+        }
+
+        Download download = new HlsDownload(client);
+        recordingProcesses.put(model, download);
+        new Thread() {
+            @Override
+            public void run() {
+                try {
+                    download.start(model, config);
+                } catch (IOException e) {
+                    LOG.error("Download failed. Download alive: {}", download.isAlive(), e);
+                }
+            }
+        }.start();
     }
 
     private void stopRecordingProcess(Model model) throws IOException {
@@ -204,7 +198,6 @@ public class LocalRecorder implements Recorder {
         }
 
         try {
-            lock.lock();
             boolean modelInRecordingList = models.contains(model);
             boolean online = checkIfOnline(model);
             if(modelInRecordingList && online) {
@@ -214,8 +207,6 @@ public class LocalRecorder implements Recorder {
             }
         } catch (Exception e) {
             LOG.error("Couldn't restart recording for model {}", model);
-        } finally {
-            lock.unlock();
         }
     }