Re: slow open() calls and o_nonblock

From: Aaron Wiebe
Date: Mon Jun 04 2007 - 10:05:02 EST


On 6/4/07, Alan Cox <alan@xxxxxxxxxxxxxxxxxxx> wrote:

> Now, I'm a userspace guy so I can be pretty dense, but shouldn't a
> call with a nonblocking flag return EAGAIN if its going to take
> anywhere near 415ms?

Violation of causality. We don't know it will block for 415ms until 415ms
have elapsed.

Understood - but what I'm getting at is more the fact that there
really doesn't appear to be any real implementation of nonblocking
open(). On the socket side of the fence, I would consider a regular
file open() to be equivalent to a connect() call - the difference
obviously being that we already have a handle for the socket.

The end result, however, is roughly the same. We have a file
descriptor with the endpoint established. In the socket world, we
assume that a nonblocking request will always return immediately and
the application is expected to come back around and see if the request
has completed. Regular files have no equivalent.

-Aaron
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/