On Thu, Oct 20, 2011 at 05:47:21PM -0400, Thor Lancelot Simon wrote:
> On Thu, Oct 20, 2011 at 06:54:54PM +0200, Manuel Bouyer wrote:
> > > 
> > > I don't see why it's desirable to manifest such large objects when
> > > it's easily avoidable.
> > 
> > We don't agree on "easily". 
> 
> FYI:  I just went around, and around, and around on this with the
> configuration framework a proprietary kernel subsystem.  If you just
> take the position that _any_ write to _any_ part of the data invalidates
> all cursors it is not so bad.  The user application has to be coded to
> deal with that, but it keeps the complexity out of the kernel.

I think, if we go this way, the kernel/userland interface should have
an opaque pointer to the next data (returned by kernel) and a generation
number (also returned by the kernel). On next call the userland provide
again the opaque pointer and generation number; if the generation number
changed the kernel will return EAGAIN. A single 64bit opaque value could
work, but it's less convenient ...

-- 
Manuel Bouyer <bou...@antioche.eu.org>
     NetBSD: 26 ans d'experience feront toujours la difference
--

Reply via email to