FIFO fixes adapted from FreeBSD: o use different wchan string for reading and writing o make O_RDWR not block forever o remove some useless casts o reorganize the normal, blocking code path (ie: O_NONBLOCK not set) o fix select/poll semantics wrt EOF.
FIFO fixes adapted from FreeBSD:
o use different wchan string for reading and writing
o make O_RDWR not block forever
o remove some useless casts
o reorganize the normal, blocking code path (ie: O_NONBLOCK not set)
o fix select/poll semantics wrt EOF.

With these changes we pass the FIFO regress.  OK tedu@

orumin/openbsd-efivars,orumin/openbsd-efivars,orumin/openbsd-efivars,orumin/openbsd-efivars