From f86aeb914b09cb6ec4f4ea78a9e7d7b33c202861 Mon Sep 17 00:00:00 2001 From: f-kessler Date: Sun, 3 Mar 2019 20:38:43 +0100 Subject: [PATCH] Update alarmHandler.py --- includes/alarmHandler.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/includes/alarmHandler.py b/includes/alarmHandler.py index 06e144b..38724a8 100644 --- a/includes/alarmHandler.py +++ b/includes/alarmHandler.py @@ -14,6 +14,7 @@ import logging # Global logger import time # timestamp from includes import globalVars # Global variables +from copy import deepcopy ## # @@ -36,20 +37,20 @@ def processAlarmHandler(typ, freq, data): @return: nothing @exception: Exception if starting a Thread failed """ + #copy objects to avoid issues if the objects will be changed by plugin's or during asynch/threaded processing + dctyp = deepcopy(typ) + dcfreq = deepcopy(freq) + dcdata = deepcopy(data) if globalVars.config.getboolean("BOSWatch","processAlarmAsync") == True: logging.debug("starting processAlarm async") try: from threading import Thread - from copy import deepcopy - dctyp = deepcopy(typ) - dcfreq = deepcopy(freq) - dcdata = deepcopy(data) Thread(target=processAlarm, args=(dctyp, dcfreq, dcdata)).start() except: logging.error("Error in starting alarm processing async") logging.debug("Error in starting alarm processing async", exc_info=True) else: - processAlarm(typ, freq, data) + processAlarm(dctyp, dcfreq, dcdata) ##