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.