Messages in this thread | | | Date | Mon, 4 Jun 2007 10:04:52 -0400 | From | "Aaron Wiebe" <> | Subject | Re: slow open() calls and o_nonblock |
| |
On 6/4/07, Alan Cox <alan@lxorguk.ukuu.org.uk> 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |