Farid Hajji <[EMAIL PROTECTED]> writes: > * IPC should be only used in stubs during an RPC. > > This is very important. Most IPC in the Hurd occurs during > an RPC call. Most RPC calls _can_ be done in a completely > synchroneous manner. By sticking to this requirement, it > would be pretty easy to extend whatever stub generator's > backend to support L4-based IPC.
One that can't easily be converted to syncronous RPC only, I think, is select/poll. Personally, I find it very appealing to be able to perform *arbitrary* i/o or i/o-like operations by sending asyncronous messages, and then being able to wait on a collection of reply ports until one of the operations returns or times out. I guess one reason I like that way of operation is memories of the AmigaOS. So I think it wuld be said to throw away the support for that entirely, but there may well be some nice way to do it on the library level (in the client's process) by using a syncronous RPC-interface and some extra threads. Please keep in mind the case of calling select() or poll() on a few thousands of file descriptors, you want to support that without spawning an insane amount of threads. BTW, how hard is it to implement something like Solaris "doors" on L4? If reconsidering the RPC-semantics, that might be an alternative worth investigating. Regards, /Niels _______________________________________________ Bug-hurd mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-hurd