Hello!
"Linas Vepstas" <[EMAIL PROTECTED]> writes:
> I've got a little deadlock problem w/ guile. Here's the pseudocode:
>
> for (i=0; i<10 i++) {
> pthread_create (load_scm, expr[i]);
> }
>
> void load_scm (char * expr) {
> scm_init_guile();
> scm_c_eval(expr);
> /* and pthread exit now that we're done */
> }
>
> The expr's are entirely scm lambda defines of one sort or another,
> and do not do any actual computation.
Can you try to provide actual code to reproduce the problem? :-)
That would be great.
Did you compile Guile with thread support (Debian's package doesn't have
thread support)? If not, that may be the problem. See
http://thread.gmane.org/gmane.lisp.guile.devel/7754 for details.
> #12 0xf7828a43 in on_thread_exit (v=0x9179e18) at threads.c:505
> #13 0xf7e3bbb0 in __nptl_deallocate_tsd ()
> from /lib/tls/i686/cmov/libpthread.so.0
> #14 0xf7e3c509 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
> #15 0xf7c3ae5e in clone () from /lib/tls/i686/cmov/libc.so.6
>
> Not sure who called clone ... not my code ... this is confusing. ...
The C library.
Hope this helps,
Ludo'.