first time post here :)....

I'm having a problem with some varibles changing mid-way thru the code and
then back again. I have a program called 'cr' in the mod_perl directory.
It's not a module, it's just a straight cgi script. It uses strict. Here's
a samepl of the code:

my ($cookie_ref,$sid,$cid) = &check_oven_for_cookies($realsid);

print "sid before call: $sid\n";
&show_form;
print "sid after call: $sid\n";

here's the sub (which resides inside of 'cr'):
sub show_form {
print "inside function: $sid\n";
....other stuff....
}
------------
This 'cr' program gets hit about 5 times a second at peak times. About 10%
of the time when I just keep hitting "reload" on the browser, occasionally
the $sid will be DIFFERENT inside the function. actually it changes to
someone elses $sid that is presumably running the program at the same time.
But the $sid is always my personal $sid before and after the function.
that's consistant. it's just when I make the function call that seemingly
at random I get someone else's $sid!

Any ideas? Would it fix things if I converted cr to a module and stuck all
the functions into Cr.pm and just had cr calling the functions, passing
$sid around instead?? I changed all my exit's to Apache::exit recently but
that didn't fix it. I checked for nested subs, but I don't have any. Any
help would be appreciated,  :) thanks.

-andrew-

Reply via email to