From d6659e6227e471d7f1cc525483bc62c5e4b378bf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Romain=20BRON=C3=88S?= <romain.brones@synchrotron-soleil.fr>
Date: Wed, 7 Aug 2024 14:57:59 +0200
Subject: [PATCH] Thread the sync process

---
 DG_PY_FOFBTool/DG_PY_FOFBTool.py | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/DG_PY_FOFBTool/DG_PY_FOFBTool.py b/DG_PY_FOFBTool/DG_PY_FOFBTool.py
index 174757c..2a73822 100644
--- a/DG_PY_FOFBTool/DG_PY_FOFBTool.py
+++ b/DG_PY_FOFBTool/DG_PY_FOFBTool.py
@@ -26,6 +26,7 @@ import FofbTool
 import FofbTool.Operation
 import FofbTool.Configuration
 import logging
+import multiprocessing
 
 #----- PROTECTED REGION END -----#	//	DG_PY_FOFBTool.additionnal_import
 
@@ -306,9 +307,10 @@ class DG_PY_FOFBTool(Device):
         tlocal = [n.split(':')[2] for n in db.get_property("FOFB", 'TimingBoardList')['TimingBoardList'] if "LOCAL" in n]
         lbpevrx = db.get_property("FOFB", 'LBPEVRX')['LBPEVRX']
 
-        # This will timeout
-        FofbTool.Operation.sync_bpm(bpmidlist, lbpevrx, tlocal, self.tangopath_centraltiming)
+        P = multiprocessing.Process(target=FofbTool.Operation.sync_bpm,
+               args=(bpmidlist, lbpevrx, tlocal, self.tangopath_centraltiming))
 
+        P.start()
         # PROTECTED REGION END #    //  DG_PY_FOFBTool.sync
 
 # ----------
-- 
GitLab