From f6dba7e61155658db7437507db1f13c48651a96d Mon Sep 17 00:00:00 2001
From: Euan Haining <ewrh1g20@soton.ac.uk>
Date: Wed, 18 May 2022 21:03:02 +0100
Subject: [PATCH] synchronised removed operation

---
 Controller.java | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/Controller.java b/Controller.java
index 4305b57..7c79f4b 100644
--- a/Controller.java
+++ b/Controller.java
@@ -615,15 +615,17 @@ public class Controller {
             System.out.println("Remove operation started for file: " + filename);
 
             boolean exists = false;
-            for (Index i : index) {
-                if (i.getFilename().equals(filename)) {
-                    exists = true;
-                    if (i.getStatus().equals("remove in progress")) {
-                        messageOutput.println("ERROR_FILE_DOES_NOT_EXIST");
-                        return;
-                    } else if (i.getStatus().equals("store_in_progress")) {
-                        messageOutput.println("ERROR_FILE_DOES_NOT_EXIST");
-                        return;
+            synchronized (clientLock) {
+                for (Index i : index) {
+                    if (i.getFilename().equals(filename)) {
+                        exists = true;
+                        if (i.getStatus().equals("remove in progress")) {
+                            messageOutput.println("ERROR_FILE_DOES_NOT_EXIST");
+                            return;
+                        } else if (i.getStatus().equals("store_in_progress")) {
+                            messageOutput.println("ERROR_FILE_DOES_NOT_EXIST");
+                            return;
+                        }
                     }
                 }
             }
-- 
GitLab