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?

Reply via email to