Some thread/GC questions

Juraj Variny rini17 at
Tue Mar 8 21:04:54 UTC 2016


can you please tell me how to:

1. Initialize lisp environment in a thread that was already created by C/C++ 
app? Is it possible for it to share existing lisp environment?

2. Is accessing and modification of the shared lisp environment from a new 
thread made by (mp:process-run-function) threadsafe? For example I am running 
swank this way, is this a safe practice?

3. In the environment where only ECL is garbage collected: Calling 
ecl_base_string_pointer_safe(si_copy_to_simple_base_string(obj)) means that 
resulting C string will be eventually garbage collected?

4. Likewise (ffi:c-inline () () :cstring "...") returns the value via 
ecl_cstring_to_base_string_or_nil() which causes trouble when C side 
deallocates it, I presume?



More information about the ecl-devel mailing list