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.