Date: Tue, 11 Nov 2003 12:09:04 -0800 (PST) From: Don Lewis <truckman@FreeBSD.org> To: l.ertl@univie.ac.at Cc: current@FreeBSD.org Subject: Re: named pipes memory leak? Message-ID: <200311112009.hABK94eF070133@gw.catspoiler.org> In-Reply-To: <200311111928.hABJRxeF070057@gw.catspoiler.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 11 Nov, Don Lewis wrote: > On 11 Nov, Lukas Ertl wrote: >> Sorry, I probably missed an important part: we're creating the FIFOs on >> nullfs mounts - the test script works great on plain UFS mounts, but the >> null layer seems to VREF the vnode once again, so v_usecount is 2, thus it >> is missong the check in fifo_cleanup(). > > Grrr ... At least I didn't break this, our fifo implementation would > have always leaked when used this way. > > Doing the cleanup in fifo_inactive() would have worked better in this > case. I think I figured out a way to make that work properly, but I > really need to test it. > > Is there any particular reason that you are nuking and re-creating the > fifo? If you don't delete the fifo, the same sockets will get used each > time. Now that I've had some time to think about it, if you reuse the same fifo, you'll run into the same problem that caused me to abandon my previous fifo_inactive() version of the cleanup code, which is stale data being left in the fifo after both ends have been closed. You may be stuck with plan B below ... > As a workaround could you create a little mdfs to hold the fifo?
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200311112009.hABK94eF070133>