diff options
Diffstat (limited to 'source/blender/blenlib/intern/task_range.cc')
-rw-r--r-- | source/blender/blenlib/intern/task_range.cc | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/source/blender/blenlib/intern/task_range.cc b/source/blender/blenlib/intern/task_range.cc index a8447c305e0..55de35f0060 100644 --- a/source/blender/blenlib/intern/task_range.cc +++ b/source/blender/blenlib/intern/task_range.cc @@ -89,11 +89,13 @@ struct RangeTask { void operator()(const tbb::blocked_range<int> &r) const { - TaskParallelTLS tls; - tls.userdata_chunk = userdata_chunk; - for (int i = r.begin(); i != r.end(); ++i) { - func(userdata, i, &tls); - } + tbb::this_task_arena::isolate([this, r] { + TaskParallelTLS tls; + tls.userdata_chunk = userdata_chunk; + for (int i = r.begin(); i != r.end(); ++i) { + func(userdata, i, &tls); + } + }); } void join(const RangeTask &other) |