diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2019-12-17 09:51:45 -0500 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2019-12-17 09:51:45 -0500 |
commit | abf493496c5857cb504c69fe771801781865e5db (patch) | |
tree | 13a1ff3056b904cf811fe7423c774ea9b7dd0be1 /klippy/mathutil.py | |
parent | d9cd524aec5c9d88de35e0c4b33de2fbd10a12a8 (diff) | |
download | kutter-abf493496c5857cb504c69fe771801781865e5db.tar.gz kutter-abf493496c5857cb504c69fe771801781865e5db.tar.xz kutter-abf493496c5857cb504c69fe771801781865e5db.zip |
mathutil: Disable queuelogger in background_coordinate_descent()
If the queuelogger was holding the lock when the process is forked
then any attempt to log from the background process would result in a
deadlock. Attempt a workaround by disabling the queuelogger at the
start of the background process.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy/mathutil.py')
-rw-r--r-- | klippy/mathutil.py | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/klippy/mathutil.py b/klippy/mathutil.py index 82f12b9c..a6ab50d2 100644 --- a/klippy/mathutil.py +++ b/klippy/mathutil.py @@ -1,9 +1,10 @@ # Simple math helper functions # -# Copyright (C) 2018 Kevin O'Connor <kevin@koconnor.net> +# Copyright (C) 2018-2019 Kevin O'Connor <kevin@koconnor.net> # # This file may be distributed under the terms of the GNU GPLv3 license. import math, logging, multiprocessing, traceback +import queuelogger ###################################################################### @@ -51,6 +52,7 @@ def coordinate_descent(adj_params, params, error_func): def background_coordinate_descent(printer, adj_params, params, error_func): parent_conn, child_conn = multiprocessing.Pipe() def wrapper(): + queuelogger.clear_bg_logging() try: res = coordinate_descent(adj_params, params, error_func) except: |