I am investigating the feasibility of embedding Julia in a C++ real-time signal processing framework, using Julia-0.4.6 (BTW, the performance is looking amazing).
However, for this usage I need to retain Julia state variables across c++ function calls, so the stack based JL_GC_PUSH() and JL_GC_POP() are not sufficient. When I injected some jl_gc_collect() calls for testing purposes, to simulate having multiple Julia scripts running (from the same thread), I got crashes, which I was able to fix using e.g. jl_gc_preserve(mMyState); and appropriate matching jl_gc_unpreserve() calls. I see these functions have been removed from the latest Julia version. Is there an alternative that allows Julia values to be retained in a C++ app across gc calls?
