* Terry Lambert <[EMAIL PROTECTED]> [001214 15:45] wrote:
> > >This still leaves the possibility of a circular reference being
> > >passed while being passed until the process exits, but I don't
> > >think you need to care about that.
> > 
> > That's the whole point of this conversation!
> 
> I don't think you need to care about it.  There are valid reasons
> for doing the passing, and a core dump of one process in a pair
> involved in a pass could leave the thing in limbo.  But it is
> resolved on process exit.
> 
> I don't think you need to be overly concerned about the thing
> being in limbo, since if both processes exit, it's cleaned up.

No it's not:

Ok, the problem is you have 3 af_unix pairs all open between 2                  
processes                                                                       
                                                                                
process B sends 3 over 2 to A                                                   
process B sends 2 over 3 to A                                                   
process B send 2 and 3 over 1 to A                                              
process B closes 1 2 and 3                                                      
A then closes 3 2 and then 1                                                    
                                                                                
closing 3 and 2 doesn't cause the socketbuffer to be flushed because            
they are still self referencing.                                                
                                                                                
closing 1 causes the socketbuffer to be flushed,                                
                                                                                
on flushing it comes across 2 and drops a reference but doesn't flush,          
it then hits 3 and drops a reference but doesn't flush.                         
                                                                                
since 3 references 2 and 2 references 3 and nothing else references             
2 or 3, we just leaked 2 and 3.                                                 
                                                                                
-- 
-Alfred Perlstein - [[EMAIL PROTECTED]|[EMAIL PROTECTED]]
"I have the heart of a child; I keep it in a jar on my desk."


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-net" in the body of the message

Reply via email to