#2762: The flesh is not thread safe
| Reporter: | Steven R. Brandt |
| Status: | submitted |
| Milestone: | ET_2023_11 |
| Version: | |
| Type: | bug |
| Priority: | blocker |
| Component: | Cactus |
The flesh is not thread safe, and therefore CarpetX’s calling of functions through the flesh via openmp is broken. In particular, the function below The variable :current_scheduled_function is a global variable.
const cFunctionData *CCTK_ScheduleQueryCurrentFunction(const cGH * CCTK_ATTRIBUTE_UNUSED GH) { return current_scheduled_function; }
If one makes the following hackish edit (which I do not recommend) the problem goes away.
db1 flesh$ git diff src/main/ScheduleInterface.c|cat - diff --git a/src/main/ScheduleInterface.c b/src/main/ScheduleInterface.c index 93bdc20..c922904 100644 --- a/src/main/ScheduleInterface.c +++ b/src/main/ScheduleInterface.c @@ -12,6--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2762/the-flesh-is-not-thread-safe