Thanks, the solution worked out.
katharnakh | [reply] |
Hi,
After doing so like as above said, it worked for me when tried as 'root' and 'cbsrepl' users. But again for some reason, it started again throwing the same error.
I tried once by having only two lines, just to check whether i can delete previously created one,
use IPC::Shareable;
tie $robj->{status}, 'IPC::Shareable', 'data_glue', {create => 0, mode
+ => 664, destroy => 0};
(tied $robj->{status})->remove();
but after this there was nothing printed on the screen, as there is nothing to print. Then i checked > ipcs -ma
------ Shared Memory Segments --------
key shmid owner perms bytes nattch stat
+us
0x61746164 16187392 root 230 65536 0
------ Semaphore Arrays --------
key semid owner perms nsems
0x61746164 15630336 root 230 3
------ Message Queues --------
key msqid owner perms used-bytes messages
0x00001f58 0 root 600 0 0
But still, it looks something remains even after having (tied $robj->{status})->remove();. May be because of this am i getting the error again? If so, how can delete this and take measures to create once again and delete once done?
Thanks in advance,
katharnakh.
| [reply] [d/l] [select] |
At a guess, one time the program ran and the job was killed unexpectedly before it did its cleanup.
If that is the case the best solution is probably to clean it up again as root, then run as "cbsrepl" and deliberately leave the memory segment there. Now it will work as cbsrepl and root indefinitely as long as nobody cleans up the existing memory segment. (But you'll need to deal with this when the machine next reboots, talk to your sysadmin about setting up an init script to create the memory segment as cbsrepl to avoid it next time.)
| [reply] |