From d9261bdb05cd0863a2c3747c812871dbb851646e Mon Sep 17 00:00:00 2001 From: Willem Jan Palenstijn Date: Wed, 14 Aug 2019 11:45:34 +0200 Subject: Replace signal-based abort handling by query-based handling The abort handling is currently only used to process Ctrl-C from Matlab. Since Matlab R2019a, it appears that calling utIsInterruptPending() from a thread other than the main thread will crash. The previous approach of checking utIsInterruptPending() in a thread, and then signalling the running algorithm was therefore broken. --- include/astra/cuda/3d/algo3d.h | 5 ----- include/astra/cuda/3d/astra3d.h | 8 -------- 2 files changed, 13 deletions(-) (limited to 'include/astra/cuda/3d') diff --git a/include/astra/cuda/3d/algo3d.h b/include/astra/cuda/3d/algo3d.h index f5fd207..b6b1db7 100644 --- a/include/astra/cuda/3d/algo3d.h +++ b/include/astra/cuda/3d/algo3d.h @@ -41,8 +41,6 @@ public: bool setConeGeometry(const SDimensions3D& dims, const SConeProjection* projs, const SProjectorParams3D& params); bool setPar3DGeometry(const SDimensions3D& dims, const SPar3DProjection* projs, const SProjectorParams3D& params); - void signalAbort() { shouldAbort = true; } - protected: void reset(); @@ -59,9 +57,6 @@ protected: SPar3DProjection* par3DProjs; float fOutputScale; - - volatile bool shouldAbort; - }; diff --git a/include/astra/cuda/3d/astra3d.h b/include/astra/cuda/3d/astra3d.h index 28a8f01..a97efd6 100644 --- a/include/astra/cuda/3d/astra3d.h +++ b/include/astra/cuda/3d/astra3d.h @@ -157,10 +157,6 @@ public: // It can be called after iterate(). float computeDiffNorm(); - // Signal the algorithm that it should abort after the current iteration. - // This is intended to be called from another thread. - void signalAbort(); - protected: AstraSIRT3d_internal *pData; }; @@ -274,10 +270,6 @@ public: // It can be called after iterate(). float computeDiffNorm(); - // Signal the algorithm that it should abort after the current iteration. - // This is intended to be called from another thread. - void signalAbort(); - protected: AstraCGLS3d_internal *pData; }; -- cgit v1.2.3