I'm not sure what you think O_NONBLOCK has to do with io_select. io_select's behavior should never be affected by nonblocking mode.
The O_NONBLOCK flag bit is strangely overloaded (as specified in POSIX.1). It is a state flag for an open file description (i.e. a peropen in our implementations' data structures). However, it is not preserved from the flags in an open like e.g. O_APPEND is. O_NONBLOCK is a flag to the open call itself (in our case, that means dir_lookup and fsys_getroot) that says that acquiring the new file descriptor (i.e. client port) itself should not block. Without O_NONBLOCK, a terminal device blocks in open until carrier detect, for example. That meaning is unrelated to the file description's (peropen's) state of nonblocking i/o mode. You cannot enable nonblocking i/o mode at open time, only with fcntl (i.e. io_set_openmodes et al). This is why O_NONBLOCK belongs in OPENONLY_STATE_MODES. _______________________________________________ Bug-hurd mailing list [EMAIL PROTECTED] http://lists.gnu.org/mailman/listinfo/bug-hurd