Clean your ipc segment keys (with ipcrm) or choose another rootname.
This probleme will be solve in a future version.

--
___________________________________________________________________________
 O  l  i  v  i  e  r    P  o  i  t  r  e  y
----- Original Message -----
From: "Alberto Canzi" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, July 05, 2001 4:51 PM
Subject: Problems with Apache::SharedMem


> Hi I've tried to use Apache::SharedMem to share memory between
> subsequent requests' handlers, but I got this error messages:
>
>
>
> ***********
>
> [Thu Jul  5 16:46:53 2001] [error] Apache::SharedMem object
> initialization: Unable to initialize root ipc shared memory segment:
> File exists at /usr/lib/perl5/site_perl/5.005/Apache/SharedMem.pm line
> 690
>  
> Apache::SharedMem::_init_root('Apache::SharedMem=HASH(0x85b8794)')
> called at /usr/lib/perl5/site_perl/5.005/Apache/SharedMem.pm line 707
>
> Apache::SharedMem::_init_namespace('Apache::SharedMem=HASH(0x85b8794)')
> called at /usr/lib/perl5/site_perl/5.005/Apache/SharedMem.pm line 142
>         Apache::SharedMem::new('Apache::SharedMem') called at
> /usr/local/apache.max//Apache/O4AuthTool.pm line 65
>
> Apache::O4AuthTool::setGVar('Apache::O4AuthTool=HASH(0x85499d8)',
> 'PIPPO', '/') called at
> /usr/local/apache.max//Apache/O4AuthletHandler.pm line 39
>         Apache::O4AuthletHandler::handler('Apache=SCALAR(0x85b86ec)')
> called at /dev/null line 0
>         eval {...} called at /dev/null line 0
>
> *************
>
> What does it mean "File Exists" ?? Which file ???
>
> The source code is :
>
> *****************
>
>  sub getGVar {
>     my($self,$varname) = @_;
>
> #    my $share = new Apache::SharedMem(debug=>0, ipc_mode => '0777');
>     my $share = new Apache::SharedMem();
>
>
>     # ...in another process
>     my $var;
> #    die("can't get key: ", $self->error) unless($share->status eq
> SUCCESS);
>
> #    $share->delete(key);
>
> #    $share->clear if($share->size > $max_size);
>
>     my $lock_timeout = 40; # seconds
>     if($share->lock(LOCK_EX, $lock_timeout))
>     {
> # $var = $share->get($varname, WAIT, 40);
> $var = $share->get("PIPPO", NOWAIT);
> my $st = $share->status;
> logga($self,"status = $st");
> if(!($share->status eq SUCCESS)){
> my $err= $share->error;
>        logga($self,"FALLITA LA getGVar ($err)");
> $share->unlock;
> $share->release;
> return undef;
> }
>     }else {
>     logga($self,"fallita la lock...");
>     }
>     $share->unlock;
>     $share->release;
>     return $var;
>  }
>
>  sub setGVar {
>     my($self,$varname, $varval) = @_;
>
> #    my $share = new Apache::SharedMem( rootname => 'STRONZO', namespace
> => 'PD', debug=>1, ipc_mode => '0777');
>     my $share = new Apache::SharedMem();
>     my $ret = 0;
>
> #    $share->set(key=>'some data');
>
>     # ...in another process
> #    my $var = $share->get(key, NOWAIT);
> #    die("can't get key: ", $self->error) unless($share->status eq
> SUCCESS);
>
> #    $share->delete(key);
>
> #    $share->clear if($share->size > $max_size);
>
>     my $lock_timeout = 40; # seconds
>     if($share->lock(LOCK_EX, $lock_timeout))
>     {
> # $share->set($varname => $varval);
> $share->set("PUPPO" => $varval);
> if($share->status eq FAILURE){
> my $err= $share->error;
>        logga($self,"FALLITA LA setGVar $err");
> }
> if($share->status eq SUCCESS){
> my $err= $share->error;
>        logga($self,"SUCCESSO LA setGVar $err");
> $ret = 1;
> }
> $share->unlock;
>     }
>     $share->release;
>     return $ret;
>  }
>
> *****************
>
> I get errors when I call setGVar().
> Could someone help me?
>
> Many Thanks,
> Alberto
>
> --
> Alberto Canzi
> OpenFor s.r.l.
> e-mail: [EMAIL PROTECTED]
>
>


Reply via email to