I definitely agree with that.
A daemon would solve all the authentication and connection persistence issues. But the problem is that all accesses to the database that I'm using *must* go through a vendor specific API which is only available as a COM library.
This explains the choice of Apache/win32 and Win32::OLE.
In face of the potential problems, I will reconsider writing a RPC::PlServer daemon that uses Win32::OLE to access the database.
Thanks for the suggestion.
Stas Bekman wrote:
Thierry Valentin wrote:
Hello all the discussion has become a little bit technical for me...
What I understand is that I've been lucky to make this work so far and that sooner or later I will end up with some problems.
I'm not familiar with win32-perl internals, but based on what Jan explained so far I suspect that you may have the problem. I could be wrong though. Jan will probably know better to answer this question.
Is there some not-too-complicated way to workaround the problems in the perl scripts or at least prevent the most severe problems to happen?
NOTE: Actually what I'm currently doing is a authentication handler derived from Apache::AuthCookie. My handler is connecting to a database through Win32::OLE to authenticate users. Active connections are kept in a cache until users logout.
From what I understand of Jan's answer: should I keep an active connection per thread-id?
I don't think this will work. You could try to run a daemon which will do the auth (i.e. taking win32::OLE out of picture) and have your modperl scripts talk to that daemon when they need auth.
I think your best solution is to get linux or another unix flavor and then you will be on the safe ground (at least with prefork mpm). I think 99.9% of modperl users use some Unix flavor, so things are much more solid on this side of the world.
--
Thierry Valentin earth decision sciences SA /(formerly known as T-Surf)/ 22, allée de la Foret de la Reine 54500 Vandoeuvre-lès-Nancy, France Email: [EMAIL PROTECTED] Phone: +33 (0)3-83-67-66-29 Fax: +33 (0)3-83-67-66-34 Please visit our website at: www.earthdecision.com <http://www.earthdecision.com/>
-- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html