diff --git a/python/tmc_classes.py b/python/tmc_classes.py index 617eaa1..5db19c6 100644 --- a/python/tmc_classes.py +++ b/python/tmc_classes.py @@ -613,13 +613,7 @@ class tmc_dict: return False return True def add(self,message): - self.list_lock.acquire() - #check if duplicate of last message in list - if len(self.message_list)>=1 and self.message_list[-1].tmc_hash==message.tmc_hash: - self.message_list[-1].add_confirmation(message) - else: - self.message_list.append(message) - self.list_lock.release() + message_is_repeat=False self.dict_lock.acquire() try: lcn=message.location.lcn @@ -635,13 +629,19 @@ class tmc_dict: else: if self.messages[lcn].has_key(updateClass) and self.messages[lcn][updateClass].tmc_hash ==message.tmc_hash:#if same message -> add confirmation self.messages[lcn][updateClass].add_confirmation(message) + message_is_repeat=True else:#(over)write message self.messages[lcn][updateClass]=message #print("added message: "+str(message)) + if not message_is_repeat: + self.list_lock.acquire() + self.message_list.append(message) + self.list_lock.release() except AttributeError: print("ERROR, not adding: "+str(message)) finally: self.dict_lock.release() + return message_is_repeat def getLogString(self,showInvalid,filters): self.list_lock.acquire() retStr=""