perl-embperl mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ed Grimm <ed_gr...@raytheon.com>
Subject Re: @param seems to be shared between Execute calls
Date Tue, 20 Jul 2010 21:20:40 GMT
Note that, under Apache, the cleanup code happens at the end of each 
request - each of which could have dozens of Execute calls, between which 
it is very definitely NOT called.

I have not used Embperl much from within server scripts, but in my limited 
use there, I've never seen the cleanup code fire.  I suspect each script 
is considered 'a request' for the purposes of the cleanup code (well, as 
far as docs are concerned.  I don't know if the code actually fires on 
END.)

-- 
Ed Grimm
Identity Services



From:
Michael Stevens <michael.stevens@dianomi.com>
To:
embperl@perl.apache.org
Cc:
Michael Smith <michael.smith@dianomi.com>, cabell.demarcellus@dianomi.com
Date:
07/20/2010 10:12 AM
Subject:
@param seems to be shared between Execute calls



Hi.

We're seeing an odd bug where @param seems to be shared between Execute 
calls in the same process. The following code is a test case for this:

#!/usr/bin/perl -w

use strict;
use Embperl;

my $output1;

my $input = '[- $param[0]->{hello} = 42; -]';

Embperl::Execute({
                 inputfile => "blah",
                 input => \$input,
                 output => \$output1,
                 });

my $output2;
my $input2 = '[- use Data::Dumper; print Dumper(\@param); -]';

Embperl::Execute({
                                 inputfile => "blah",
                                 input => \$input2,
                                 output => \$output2
                 });

Which on my machine outputs:

$VAR1 = [
           {
             'hello' => 42
           }
         ];

Surely this shouldn't happen?

-- 
Michael Stevens
Dianomi Ltd
18 Buckingham Gate
London SW1E 6LB

Tel: 020 7802 5530
Fax: 020 7630 7356
www.dianomi.com

The information in this message and any attachment is intended for the 
addressee and is confidential and may be subject to legal privilege. 
Dianomi Ltd, Registered Office: One America Square, Crosswall, London. 
EC3N 2SG. Registered in England and Wales with Company Registration 
Number 4513809. VAT registration number: 809754988

---------------------------------------------------------------------
To unsubscribe, e-mail: embperl-unsubscribe@perl.apache.org
For additional commands, e-mail: embperl-help@perl.apache.org



Mime
View raw message