mirror of
https://github.com/NGSolve/netgen.git
synced 2025-03-09 03:14:36 +05:00

Functions with a python typed argument (kwargs in this case) cannot use py::call_guard<py::gil_scoped_release>() because it means, the GIL is not held when the function returns (and cleans up arguments/temporary variables). Thus, remove the global call guard and create a local variable py::gil_scoped_release gil_release; after arguments are processed and before meshing starts. This local variable is destroyed before the function returns (acquiring the GIL again).