The odd i saw is:

'Sometimes' the script#1 wrongly displays 99 when the form in script#1 is submitted. But it should display a empty string. The error rate is about 50%. So I guess it is a problem of race condition, something like this (i guess): Before %udat is saved to FileStore, shortly after the httpd serving script#2 sends HTTP Location header to browser and request back to run script1, the new request to run script#1 is served by another httpd and this second httpd is forked before the first httpd exits. The Session module in 2nd httpd fetchs the wrong 'obsoleted' version of %udat because the new %udat is not yet saved in time by 1-st httpd's Session module.

I guess it's kind of race condition because if I remove the location redirection code and manually fetch script#1 immediately after script#2 ends, everything is OK all the time. But that makes my web page very unfriendly and unacceptable. In my web, I heavily use %udat and redirection to pass big fields among scripts of the same session.

I have no time to wait for patch (if any). Is there any method I can call to "sync" %udat before I call $req_rec->status(REDIRECT)? I think this is the fastest remedy to me.

ok, this could be a possible problem. I will take a look at it. Inbetween you can call

tied(%udat) -> cleanup ; 

to make sure all data is written to the File/DB. But be aware, after this call you can't access %udat anymore!

What do I need to do with my database to work with Apache::Session? I mean what tables or database schema are necessary for this session handling to work?

perldoc Apache::Session::DBIStore describes the tables 

 

 PS. Besides, what's CVS version?

CVS version is my current developemt version. perldoc CVS.pod in the Embperl directory give you more information about it, but for the fix you need you can upgrade to 1.2b11. (Note setup for session handling has slightly changed, read the docs)

Gerald

---------------------------------------------------------------
Gerald Richter      ecos electronic communication services gmbh
Internet - Infodatenbanken - Apache - Perl - mod_perl - Embperl

E-Mail:     [EMAIL PROTECTED]         Tel:        +49-6133/925151
WWW:        http://www.ecos.de      Fax:        +49-6133/925152
---------------------------------------------------------------
 

 

 

Reply via email to