Date: Thu, 26 Oct 2000 18:46:49 -0700 From: Alfred Perlstein <bright@wintelcom.net> To: Alan Cox <alan@lxorguk.ukuu.org.uk> Cc: Jonathan Lemon <jlemon@flugsvamp.com>, Gideon Glass <gid@cisco.com>, Simon Kirby <sim@stormix.com>, Dan Kegel <dank@alumni.caltech.edu>, chat@FreeBSD.ORG, linux-kernel@vger.kernel.org Subject: Re: kqueue microbenchmark results Message-ID: <20001026184649.U28123@fw.wintelcom.net> In-Reply-To: <E13oyOE-00044z-00@the-village.bc.nu>; from alan@lxorguk.ukuu.org.uk on Fri, Oct 27, 2000 at 02:32:59AM %2B0100 References: <20001026201042.A38500@prism.flugsvamp.com> <E13oyOE-00044z-00@the-village.bc.nu>
next in thread | previous in thread | raw e-mail | index | archive | help
* Alan Cox <alan@lxorguk.ukuu.org.uk> [001026 18:33] wrote: > > the application of a close event. What can I say, "the fd formerly known > > as X" is now gone? It would be incorrect to say that "fd X was closed", > > since X no longer refers to anything, and the application may have reused > > that fd for another file. > > Which is precisely why you need to know where in the chain of events this > happened. Otherwise if I see > > 'read on fd 5' > 'read on fd 5' > > How do I know which read is for which fd in the multithreaded case No you don't, you don't see anything with the current code unless fd 5 is still around, what you're presenting to Jonathan is a application threading problem, not something that need to be resolved by the OS. > > As for the multi-thread case, this would be a bug; if one thread closes > > the descriptor, the other thread is going to get an EBADF when it goes > > to perform the read. > > Another thread may already have reused the fd This is another example of an application threading problem. -- -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-chat" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20001026184649.U28123>
