On 1/28/19 12:03 PM, Paolo Bonzini wrote: > On 28/01/19 10:47, Alex Bennée wrote: >>> >>> [1] The fix seems https://github.com/openbsd/src/commit/c2a35b387f9d3c >>> "fcntl(F_SETFL) invokes the FIONBIO and FIOASYNC ioctls internally, so >>> the memory devices (/dev/null, /dev/zero, etc) need to permit them." >> I assume set_nonblock is called on more than just these special devices? >> Is there anyway to check this on OpenBSD or is it just an anonymous fd >> at this point? >> > > Perhaps on OpenBSD we should just assert that we don't get EBADF?
We get ENODEV for "not a memory device": 19 ENODEV Operation not supported by device. An attempt was made to apply an inappropriate function to a device, for example, trying to read a write-only device such as a printer. I'll respin with your suggestion. Thanks! Phil.