in reply to Delete shares with IPC::Shareable

I'm not sure, but it seems to me that the man page of IPC::Shareable describes your problem:

REFERENCES
When a reference to a non-tied scalar, hash, or array is assigned to a tie()d variable, IPC::Shareable will attempt to tie() the thingy being referenced. This allows dis­parate processes to see changes to not only the top-level variable, but also changes to nested data. This feature is intended to be transparent to the application, but there are some caveats to be aware of.

First of all, IPC::Shareable does not (yet) guarantee that the ids shared memory seg­ments allocated automagically are unique. The more automagical tie()ing that happens, the greater the chance of a collision.

Secondly, since a new shared memory segment is created for each thingy being referenced, the liberal use of references could cause the system to approach its limit for the total number of shared memory segments allowed.

Hth, Valerio

update: after running your example I need to clean my shm... :)

Replies are listed 'Best First'.
Re: Re: IPC::Shareable
by kodo (Hermit) on Oct 24, 2002 at 10:34 UTC
    Yea I did read that, too but why doesn't it delete the old ones that aren't needed any more? doesn't make sense to me...

    giant