[Q][LONG] using IPC::Shareable to cache data, Apache doesnt start

2002-10-03 Thread Juan Natera

Hello everyone,

I am trying to use a IPC::Shareable tied hash to cache some data at the 
start of apache from my startup.pl script.

this is my startup.pl

-
$ENV{GATEWAY_INTERFACE} =~ /^CGI-Perl/ or
die GATEWAY_INTERFACE not Perl!;

use Apache::Registry;
use Apache::DBI;
use IPC::Shareable;
use GXV::Abonados;
use strict;

my %GLOBALDATA;
my %options = (
 create= 1,
 exclusive = 0,
 mode  = 0666,
 destroy   = 1,
);

tie %GLOBALDATA, 'IPC::Shareable', 'GLUE', { %options } ||
die tie failed\n;

my $gxv = GXV::Abonados-new ||
die not able to connect to GXV\n;

eval {
 %GLOBALDATA = $gxv-paquetes_shared;
};

die Global data is not accessible: $ if ($);
1;
--


The method GXV::Abonados::paquetes_shared() works, I have tried many 
forms of recieving (and returning of course) the data (a flat scalar, 
arrays, hashes).

If I asign to *GLOBALDATA a short string or number it works, I checked 
IPC::Shareable::SHM_BUFSIZ(); and it's more than enough to hold the 
return value of $gxv-paquetes_shared;

The worst of all is that Apache simply doesnt start, and I get no error 
message at all.

Can someone please give me some insight?

TIA,

Best Regards,

Juan Jose Natera




Re: [Q][LONG] using IPC::Shareable to cache data, Apache doesnt start

2002-10-03 Thread Perrin Harkins

Juan Natera wrote:
 The worst of all is that Apache simply doesnt start, and I get no error 
 message at all.

The error might be on the console, or you could try capturing it and 
writing it to a file.  However, I suggest you ditch IPC::Shareable since 
it's dog slow.  Use MLDBM::Sync, Cache::FileCache, IPC::MM, or Cache::Mmap.

- Perrin