On Mon, Feb 26, 2007 at 05:59:45PM -0800, Anders Persson wrote: > >Event ports could be the right way to do it -- and it seems that you > >could adapt the code in uts/common/fs/portfs/port.c to be a kernel API > >(most of the user-land APIs appear as static functions with vnode > >arguments, except port_create(), which is a static that allocates a file > >descriptor). > > > Right. I am planning to explore this venue a bit more.
This might be the easiest approach -- from the looks of it most of the event port API could be made a kernel API with little effort. > >Condition variables come close to good enough too, for an in-kernel > >async socket I/O API, no?. > > > Maybe to some extent, but you would still need some sort of interface to > allow the user to wait for an event from a group of sockets. You could share a cv for that across multiple sockets, but then on wake up the caller would have to poll all the sockets. And sharing sockets across multiple threads becomes a pain. Ew. Yeah, event ports seem like the way to go. Nico -- _______________________________________________ networking-discuss mailing list [email protected]
