mirror of
https://github.com/markqvist/Reticulum.git
synced 2025-01-18 16:30:33 +00:00
Fixed potential logging deadlock
This commit is contained in:
parent
b8aa6a3e44
commit
a56d93fc1e
@ -125,11 +125,9 @@ def log(msg, level=3, _override_destination = False, pt=False):
|
|||||||
else:
|
else:
|
||||||
logstring = "["+timestamp_str(time.time())+"] "+msg
|
logstring = "["+timestamp_str(time.time())+"] "+msg
|
||||||
|
|
||||||
logging_lock.acquire()
|
with logging_lock:
|
||||||
|
|
||||||
if (logdest == LOG_STDOUT or _always_override_destination or _override_destination):
|
if (logdest == LOG_STDOUT or _always_override_destination or _override_destination):
|
||||||
print(logstring)
|
print(logstring)
|
||||||
logging_lock.release()
|
|
||||||
|
|
||||||
elif (logdest == LOG_FILE and logfile != None):
|
elif (logdest == LOG_FILE and logfile != None):
|
||||||
try:
|
try:
|
||||||
@ -143,9 +141,7 @@ def log(msg, level=3, _override_destination = False, pt=False):
|
|||||||
os.unlink(prevfile)
|
os.unlink(prevfile)
|
||||||
os.rename(logfile, prevfile)
|
os.rename(logfile, prevfile)
|
||||||
|
|
||||||
logging_lock.release()
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logging_lock.release()
|
|
||||||
_always_override_destination = True
|
_always_override_destination = True
|
||||||
log("Exception occurred while writing log message to log file: "+str(e), LOG_CRITICAL)
|
log("Exception occurred while writing log message to log file: "+str(e), LOG_CRITICAL)
|
||||||
log("Dumping future log events to console!", LOG_CRITICAL)
|
log("Dumping future log events to console!", LOG_CRITICAL)
|
||||||
@ -154,9 +150,7 @@ def log(msg, level=3, _override_destination = False, pt=False):
|
|||||||
elif logdest == LOG_CALLBACK:
|
elif logdest == LOG_CALLBACK:
|
||||||
try:
|
try:
|
||||||
logcall(logstring)
|
logcall(logstring)
|
||||||
logging_lock.release()
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logging_lock.release()
|
|
||||||
_always_override_destination = True
|
_always_override_destination = True
|
||||||
log("Exception occurred while calling external log handler: "+str(e), LOG_CRITICAL)
|
log("Exception occurred while calling external log handler: "+str(e), LOG_CRITICAL)
|
||||||
log("Dumping future log events to console!", LOG_CRITICAL)
|
log("Dumping future log events to console!", LOG_CRITICAL)
|
||||||
|
Loading…
Reference in New Issue
Block a user