diff --git a/Controller.java b/Controller.java index 4305b5770c47c6b1a0464d2cacbeddd999ef425d..7c79f4b145f642168b5ba37b452d33aa19dc2715 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; + } } } }