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-arch" 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>