Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Dec 2000 17:31:04 -0800
From:      Alfred Perlstein <bright@wintelcom.net>
To:        Matt Dillon <dillon@earth.backplane.com>
Cc:        Kirk McKusick <mckusick@mckusick.com>, arch@FreeBSD.ORG, net@FreeBSD.ORG
Subject:   Re: patch to cleanup inflight desciptor handling.
Message-ID:  <20001213173103.B16205@fw.wintelcom.net>
In-Reply-To: <200012140125.eBE1Pbi89951@earth.backplane.com>; from dillon@earth.backplane.com on Wed, Dec 13, 2000 at 05:25:37PM -0800
References:  <200012131852.KAA17423@beastie.mckusick.com> <200012132106.eBDL6Sg86570@earth.backplane.com> <20001213141917.Q16205@fw.wintelcom.net> <20001213145341.S16205@fw.wintelcom.net> <20001213153649.T16205@fw.wintelcom.net> <200012140125.eBE1Pbi89951@earth.backplane.com>

next in thread | previous in thread | raw e-mail | index | archive | help
* Matt Dillon <dillon@earth.backplane.com> [001213 17:25] wrote:
> 
> :I guess the gc has to stay.
> :
> :dammit. :)
> :
> :My apologies for wasting everyone's time here.
> :
> :-- 
> :-Alfred Perlstein - [bright@wintelcom.net|alfred@freebsd.org]
> 
>     No waste at all, Alfred, the file descriptor passing code had been
>     broken for over 10 years precisely because of its complexity.  Rewriting
>     the GC to be more efficient essentially requires using deep graph theory
>     to locate isolated loops of arbitrary complexity.
> 
>     p.s. many object oriented language garbage collectors have the same
>     problem.  create object A, create object B, A references B, B references A,
>     drop A, drop B.  A and B still have references and don't get cleaned up.
>     Fun.

Are you saying the code in place is broken?  If so I'll spend some
time looking at it and the Linux implementation to figure if at
least one of us gets it right and try to find some sort of solution.

Obviously the easiest way would be to disallow passing of any
descriptors that have descriptors in thier socketbuffers.

Since almost no one uses this code, and I hardly see a reason for
allowing that type of operation (passing af_unix fds with fds in
flight) it might be a good idea to just disallow that sort of
operation.

It would definetly simplify and probably speed up the code.

-- 
-Alfred Perlstein - [bright@wintelcom.net|alfred@freebsd.org]
"I have the heart of a child; I keep it in a jar on my desk."


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20001213173103.B16205>