From e551513b9f3d1368459d446e393c205a6056f1c4 Mon Sep 17 00:00:00 2001 From: Peter Bell Date: Thu, 8 Aug 2019 13:33:21 +0100 Subject: [PATCH] Handle exceptions thrown in parallel regions --- pocketfft_hdronly.h | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/pocketfft_hdronly.h b/pocketfft_hdronly.h index b538753..6c549de 100644 --- a/pocketfft_hdronly.h +++ b/pocketfft_hdronly.h @@ -742,17 +742,26 @@ void thread_map(size_t nthreads, Func f) auto & pool = get_pool(); latch counter(nthreads); + exception_ptr ex; + mutex ex_mut; for (size_t i=0; i lock(ex_mut); + ex = current_exception(); + } counter.count_down(); }); } counter.wait(); + if (ex) + rethrow_exception(ex); } } -- GitLab