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]

Reply via email to