Some thread/GC questions
rini17 at gmail.com
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