Actually, $dstIP prints out 10 times. and the maximum number of shares mem segments is 10. Maybe its the hash that isn't declared correctly!?
Andy On Fri, 2003-08-15 at 14:12, Andy Ford wrote: > This is the output of ipcs -A... > > IPC status from <running system> as of Fri Aug 15 13:10:04 UTC 2003 > T ID KEY MODE OWNER GROUP CREATOR > CGROUP CBYTES QNUM QBYTES LSPID LRPID STIME RTIME CTIME > Message Queues: > T ID KEY MODE OWNER GROUP CREATOR > CGROUP NATTCH SEGSZ CPID LPID ATIME DTIME CTIME ISMATTCH > Shared Memory: > m 610 0xbc054 --rw-rw-rw- root other root > other 0 65536 7680 0 no-entry no-entry 13:10:01 0 > T ID KEY MODE OWNER GROUP CREATOR > CGROUP NSEMS OTIME CTIME > Semaphores: > > before running the script, ipcs -A was clear so the shared memory was > created with ID 610 > > Andy > > On Fri, 2003-08-15 at 13:44, Andy Ford wrote: > > Hello > > > > I have had a good look round at what may be causing the error.. > > Could not create semaphore set: No space left on device > > > > What I am basically doing is the following... > > > > tie %myhash, 'IPC::Shareable', "hashkey", {create => 1, exclusive => 0, > > mode => 0666, destroy => 1, size => 262144 }; > > > > while($dstIP = $sth1->fetchrow()) > > { > > print "$dstIP\n"; > > $myhash{$dstIP}{"dispatched"} = time(); > > $myhash{$dstIP}{"response"} = 0; > > $myhash{$dstIP}{"num_polls"} = 1; > > $myhash{$dstIP}{"action"} = 0; > > > > } > > > > When I start up the process, I manage to print out 10 $dstIP addresses > > and then I get the error. This is rather a small amount of data to fit > > into 262144 bytes. Even if I increase this size, I get the same error at > > the same point. Without setting SHM fetchrow returns 20 $dstIP addresses > > and they print fine. > > > > Any ideas > > > > Andy > > >