On Fri, Apr 08, 2011 at 11:26:21PM +0200, Juan Jose Garcia-Ripoll wrote:
> On Fri, Apr 8, 2011 at 10:50 PM, meh. <meh@...> wrote:
> > <https://github.com/meh/craftd/blob/master/scripting/lisp/helpers.c#L49>let's say the eval'd string is
> > (asdf:load-system :craftd) if any of the loaded files have a syntax
> > error my eval function doesn't know something went wrong.
> > Is there a way to know that?
> This has also been dealt with in the mailing list.
I've been looking but it's not easy to find something in this huge
archive, could you point me in the right direction please?
> > Second, my application is threaded, there's a worker system where each
> > worker
> > has a thread so LISP code can be executed in different threads.
> That's fine if the threads are created by ECL, but if they are created by
> your C/C++ application then you have to register them with ECL. Search the
> mailing list if this is your case.
It is my case and still can't find the right thread in the archive.
At the moment I do:
> ecl_import_current_thread(Cnil, Cnil);
When the thread is created and:
When the thread is going to stop, I still get a segfault in this way.
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 0x7ffff5fc0710 (LWP 9945)]
> 0x00007ffff387781a in ecl_alloc_object () from
> (gdb) bt
> #0 0x00007ffff387781a in ecl_alloc_object () from /usr/lib64/libecl.so.11.1
> #1 0x00007ffff3844f5d in ecl_make_simple_base_string () from /usr/lib64/libecl.so.11.1
> #2 0x00007ffff3b13c35 in cdcl_eval (format=0x7ffff3b147cd "(craftd:fire :%s %s)") at scripting/lisp/helpers.c:56
Sorry for bothering you :(