I spent hours over the past week debugging a problem with another service which is pure CGI and not Plack. MOD_PERL should have always been available to it. In the end I discovered it was based upon which application loaded in the thread first. If the application which was using Plack::Handler::Apache2 instantiated first then the MOD_PERL env variable would not be available in that thread, this caused all my other applications which do not use this handler to instantiate without MOD_PERL. This was problematic as some of them are CGI and have logic which requires it to be available.
Here is a patch, I'm unsure whether it is the best approach, but it resolved my headache.
I spent hours over the past week debugging a problem with another service which is pure CGI and not Plack. MOD_PERL should have always been available to it. In the end I discovered it was based upon which application loaded in the thread first. If the application which was using Plack::Handler::Apache2 instantiated first then the MOD_PERL env variable would not be available in that thread, this caused all my other applications which do not use this handler to instantiate without MOD_PERL. This was problematic as some of them are CGI and have logic which requires it to be available.
Here is a patch, I'm unsure whether it is the best approach, but it resolved my headache.
Regards, LNATION.