Skip site navigation (1)Skip section navigation (2)
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

--y0ulUmNC+osPPQO6
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

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.=
=20
> /dev/acd0 or /dev/da1 with a CF reader attached) to block till the media =
is=20
> 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:=20
http://sourceforge.net/mailarchive/message.php?msg_id=3D10011826


 On block devices, O_NONBLOCK also is a way to say "don't try to do any=20
 device discovery", ie you can do a O_NONBLOCK open on a removable disk=20
 that doesn"t even have any media in it. Again, this has _nothing_ to do=20
 with whether the device is "busy" or not.

=2E..

 Short summary:
=20
  - O_NONBLOCK should generally be seen as just setting the O_NONBLOCK flag=
=20
    "early" (ie it"s conceptually equivalent to doing a "F_SETFL" fcntl=20
    before the open. It _may_ affect the open itself, but when it does, it=
=20
    is generally considered to mean that you can open something that isn't=
=20
    even _reachable_.
=20
  - POSIX doesn't say anything much about its behaviour, except for named=
=20
    pipes, where it says the total reverse of what ALSA does. But that=20
    doesn't actually mean anything, because even that is very much defined=
=20
    as a special case by POSIX.

Marc

--y0ulUmNC+osPPQO6
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (FreeBSD)

iD8DBQFC7h3+ezjnobFOgrERAtlKAJwOytkg9PPLqeIXJ6TmSFDwrZRiEwCgynB8
JTtEaJ3En4jNvgYdnKYCN1Q=
=Rrpr
-----END PGP SIGNATURE-----

--y0ulUmNC+osPPQO6--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050801130502.GA39470>