in reply to Spawning multiple interpreters from C

I might not understand what exactly is going on but it sounds like your system of calling perl to do things is not reentrant.

Are you locking anything or would you be making anything available to be corrupted if you allowed multiple calls to perl?

I'm not sure what else would be a problem. What exactly do you mean by "calls"? Are any new child processes being created? Are the calls back to the C program made back to one process or is the C program run again (so there are multiple instances of it running)?
  • Comment on Re: Spawning multiple interpreters from C

Replies are listed 'Best First'.
Re^2: Spawning multiple interpreters from C
by jredburn (Sexton) on Dec 15, 2004 at 15:25 UTC
    The C process is a daemon that accepts web services queries. It has a number of providers that it respond to these queries, some of which are in C and some of which are in Perl. For the Perl providers, I have a persistent interpreter at the moment. The issue is that some of the Perl providers make web services calls to the daemon as well, which needs to call out to a Perl provider to return the data. Since the original Perl provider is still locking up the interpreter, it just hangs, waiting for a response.