in reply to threaded C embed

I'll admit that I haven't done this, but the perlman:perlembed manpage says:
Now suppose we have more than one interpreter instance running at the same time. This is feasible, but only if you used the -DMULTIPLICITY flag when building Perl. By default, that sets PL_perl_destruct_level to 1.

So the first thing that I'd check is that you'd built Perl with -DMULTIPLICITY. Try not to think of Michael Keaton movies. :)

Even there, you may be out of luck. IIRC, Perl is not entirely multithread-safe. According to the Perl5-porters list, Perl 5 uses things like setjmp and longjmp, which are not multi-thread safe. You may need to share a single interpreter among the multiple threads, or otherwise prevent multiple interpreters from getting called in the same instant.

Best of luck!

Update Added "out of luck" paragraph after further research.

stephen