tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kevent ext member?



What is the new struct kevent::ext member about?  I read the new man
page but I'm still unclear on it.

1. Who owns it?  Does it depend on the filter, the identifier, or
   both?

2. Who writes or reads it, inside the kernel?  It doesn't seem to be
   mentioned in kern_event.c.

3. Why is ext[0]/ext[1] treated differently from ext[2]/ext[3]?

4. If ext[2]/ext[3] are passed through verbatim, how are they
   different from just a larger udata member?  Why can't the user
   application just use a pointer to a larger buffer here?

5. What happens if I fill nonzero ext[0]/ext[1] in a userland call to
   kevent?  What filters respect it and how do I find out, short of
   reading the code?

6. What do I get if I read out of it in a userland call to kevent?
   What filters fill it and how do I find out, short of reading the
   code?

7. What's an example of a use from userland?  Why did we need to
   change the kevent syscall?

8. Is this API shared with any other BSDs, or is anyone proposing to
   share it, or is it now a unique NetBSD extension?


Home | Main Index | Thread Index | Old Index