Date: Mon, 1 Aug 2005 15:05:02 +0200 From: Marc Olzheim <marcolz@stack.nl> To: soc-victor@freebsd.org Cc: freebsd-hackers@freebsd.org Subject: Re: O_NONBLOCK for devices with removable media Message-ID: <20050801130502.GA39470@stack.nl> In-Reply-To: <494025505080104427c3f91f6@mail.gmail.com> References: <494025505080104427c3f91f6@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --] On Mon, Aug 01, 2005 at 02:42:21PM +0300, victor cruceru wrote: > Hi all, > I'm just wondering if it's OK for an open syscall on such a device (i.e. > /dev/acd0 or /dev/da1 with a CF reader attached) to block till the media is > ready or a timeout occurs. I'd say that depends completely on whether you supply O_NONBLOCK or not, so yes. Quoted from a sound driver discussion at: http://sourceforge.net/mailarchive/message.php?msg_id=10011826 On block devices, O_NONBLOCK also is a way to say "don't try to do any device discovery", ie you can do a O_NONBLOCK open on a removable disk that doesn"t even have any media in it. Again, this has _nothing_ to do with whether the device is "busy" or not. ... Short summary: - O_NONBLOCK should generally be seen as just setting the O_NONBLOCK flag "early" (ie it"s conceptually equivalent to doing a "F_SETFL" fcntl before the open. It _may_ affect the open itself, but when it does, it is generally considered to mean that you can open something that isn't even _reachable_. - POSIX doesn't say anything much about its behaviour, except for named pipes, where it says the total reverse of what ALSA does. But that doesn't actually mean anything, because even that is very much defined as a special case by POSIX. Marc [-- Attachment #2 --] -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (FreeBSD) iD8DBQFC7h3+ezjnobFOgrERAtlKAJwOytkg9PPLqeIXJ6TmSFDwrZRiEwCgynB8 JTtEaJ3En4jNvgYdnKYCN1Q= =Rrpr -----END PGP SIGNATURE-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050801130502.GA39470>
