<?xml version="1.0" encoding="windows-1252"?>
<node id="698754" title="Re: How can I unshare something?" created="2008-07-18 19:16:18" updated="2008-07-18 15:16:18">
<type id="11">
note</type>
<author id="485015">
renodino</author>
<data>
<field name="doctext">
&lt;blockquote&gt;&lt;i&gt;threads::shared can't handle blobs. Whatever they are.&lt;/i&gt;&lt;/blockquote&gt;&lt;p&gt;

Um, care to elaborate ? Is that "blobs" as in database large binary objects ? Or something else ? A Perl object, perhaps ? Your blanket statement may hide some misassumptions; it certainly makes it difficult to diagnose your issue.
&lt;p&gt;
That said, I fear there's currently no unshare API. Though it might be a useful addition, its difficult to define the behavior of something that would be unshared &lt;b&gt;if some other thread still has a reference to it&lt;/b&gt;. Does unshare() apply globally, and suddenly every thread's reference becomes private again ? Or does it simply mean the single thread dissociates its private proxy from the shared version, but retains a copy of everything in it ? Plus there may be other housekeeping issues (what happens when you deref a reference to previously shared
element; does it grab a copy from the shared version, or the unshared version ?).
&lt;p&gt;
If you elaborate on what "blobs" are, it may be possible to find an alternate solution to your dilemma.

&lt;!-- Node text goes above. Div tags should contain sig only --&gt;
&lt;div class="pmsig"&gt;&lt;div class="pmsig-485015"&gt;
&lt;hr&gt;&lt;/hr&gt;
&lt;i&gt;&lt;small&gt;Perl Contrarian &amp;amp; SQL fanboy&lt;/small&gt;&lt;/i&gt;
&lt;/div&gt;&lt;/div&gt;</field>
<field name="root_node">
698719</field>
<field name="parent_node">
698719</field>
</data>
</node>
