From 221335793e37c581bfe31d19f56a7ca2235487fb Mon Sep 17 00:00:00 2001
From: su530201 <olivier.kaufmann@umons.ac.be>
Date: Tue, 20 Jun 2023 18:52:05 +0200
Subject: [PATCH] Switches mpl backend to agg to avoid errors with threads

---
 ohmpi/hardware_system.py | 1 +
 ohmpi/plots.py           | 1 +
 2 files changed, 2 insertions(+)

diff --git a/ohmpi/hardware_system.py b/ohmpi/hardware_system.py
index 45e29214..eb6d11fa 100644
--- a/ohmpi/hardware_system.py
+++ b/ohmpi/hardware_system.py
@@ -12,6 +12,7 @@ from ohmpi.utils import update_dict
 from ohmpi.config import HARDWARE_CONFIG
 from threading import Thread, Event, Barrier
 
+plt.switch_backend('agg') # for multi-threading...
 # Define the default controller, a distinct controller could be defined for each tx, rx or mux board
 # when using a distinct controller, the specific controller definition must be included in the component configuration
 ctl_module = importlib.import_module(f'ohmpi.hardware_components.{HARDWARE_CONFIG["ctl"]["model"]}')
diff --git a/ohmpi/plots.py b/ohmpi/plots.py
index 0e45d3ca..cd735ff5 100644
--- a/ohmpi/plots.py
+++ b/ohmpi/plots.py
@@ -2,6 +2,7 @@ import matplotlib.pyplot as plt
 import numpy as np
 from ohmpi.utils import parse_log
 import matplotlib
+plt.switch_backend('agg') # for multi-threading...
 
 
 def plot_exec_log(exec_log,names=None,last_session=True):  # TODO: select session id instead of last session (if -1 : last)
-- 
GitLab