From 86cf5da38c5df05dd1b89bbd38588316d48f3354 Mon Sep 17 00:00:00 2001
From: Stephane Del Pino <stephane.delpino44@gmail.com>
Date: Fri, 10 Jan 2020 17:34:24 +0100
Subject: [PATCH] Improve code readability

---
 src/language/node_processor/FunctionProcessor.hpp | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/language/node_processor/FunctionProcessor.hpp b/src/language/node_processor/FunctionProcessor.hpp
index 2a8db08f2..c45faaa39 100644
--- a/src/language/node_processor/FunctionProcessor.hpp
+++ b/src/language/node_processor/FunctionProcessor.hpp
@@ -63,10 +63,10 @@ class FunctionProcessor : public INodeProcessor
   DataVariant
   execute(ExecutionPolicy& exec_policy)
   {
-    ExecutionPolicy context_exec_policy{exec_policy,
-                                        ExecutionPolicy::Context{m_context_id,
-                                                                 std::make_shared<ExecutionPolicy::Context::Values>(
-                                                                   m_context_size)}};
+    // Context is built in each execution for thread safety: multiple thread can call a function at once
+    ExecutionPolicy::Context context{m_context_id, std::make_shared<ExecutionPolicy::Context::Values>(m_context_size)};
+
+    ExecutionPolicy context_exec_policy{exec_policy, context};
 
     if (m_argument_converters.size() == 1) {
       m_argument_converters[0]->convert(context_exec_policy, m_argument_node.execute(context_exec_policy));
-- 
GitLab