Subject: Re: Importing kqueue's from FreeBSD...
To: Jonathan Lemon <jlemon@flugsvamp.com>
From: Bill Sommerfeld <sommerfeld@orchard.arlington.ma.us>
List: tech-kern
Date: 03/16/2001 00:56:24
> The answer I came up with was to use a backchannel if you really want
> to pass back a lot of data. I have a filter that does this, for example,
> by using copyout() to pass out multiple socket fd's, peer/local addresses,
> and so forth.
this suggests to me that the "filter" callback should really be in 3
parts..
- one invoked when a process first asks for the event (invoked in
that process).
- one invoked when the event happens (which could be in any context
-- interrupt level, process context of some other process, ...)
- one invoked when the event actually gets posted to the process
(again invoked in that process)
- Bill