Greetings... a patch I would like your comments on...
Ivan Voras
ivoras at freebsd.org
Fri Jan 22 15:33:54 UTC 2010
On 01/22/10 16:10, Ed Schouten wrote:
> * Ivan Voras<ivoras at freebsd.org> wrote:
>> This is a good and useful addition! I think Windows has implemented a
>> generalization of this (called "wait objects" or something like that),
>> which effectively allows a select()- (or in this case kqueue())-like
>> syscall to wait on both file descriptors and condvars (as well as
>> probably other MS-style objects). It's useful for multiplexing events
>> for dissimilar sources.
>
> NtWaitForSingleObject(), NtWaitForMultipleObjects(), etc. :-)
>
Yes, I was thinking about WaitForMultipleObjects() - I sometimes wished
I had it in FreeBSD :)
I think the hackers@ side of the thread is missing the original link to
the patch file offered for review, so here it is:
http://people.freebsd.org/~rrs/kque_umtx.patch
My kqueue-fu level is too low to be really useful here but from what
I've read it looks like a logical and even reasonably clean way of doing it.
If I read the comment at filt_umtxattach() correctly, in the best case
you would need an extension to the kevent structure to add more fields
like data & udata (for passing values back and forth between userland
and kernel). I agree with this - it would be very convenient for some
future purposes (like file modification notification) if the kernel
filter could both accept and return a struct of data from/to the userland.
More information about the freebsd-hackers
mailing list