|
> As mentioned in BUGS AND LIMITATIONS it is not possible
> to store objects inside of shared objects.
Well, not exactly. It actually says:
There are bugs associated with L<threads::shared> that may
prevent you from using foreign inheritance with shared
objects, or storing objects inside of shared objects.
The operative word being may. If you can get it to
work, then fine. However, as your test shows, it doesn't
always work (e.g., storing OIO objects inside other OIO
objects).
> It seems to me that the problem is the reference
> counter which demolish the InsideOut object inside
> of the container too early.
I don't know the exact cause (or I would get it fixed ;),
but the problem does lie in the XS code for threads::shared.
There is a bug report against it, but I don't know when (if
ever) it will get fixed.
|