Usually the same
errno as
EWOULDBLOCK, this one reports "Resource temporarily unavailable". This is one of the more
fun errors, if you can call any of them "fun" =) The first major use is in
non-blocking IO, any operation which would cause blocking to wait for
data or
resources returns this to indicate that the operation would block were it to be carried about.
The second major use of this error is to indicate that there are not enough allocatable resources for an object to be created. In both of these cases, the errno implies that you may "try again" later and it may succeed, so this is a "soft" error. Compare to ENOMEM and ENOBUFS.
In the kernel, this error is used when a lock is currently held when a non-sleeping attempt to grab it is made. Of course, if an attempt is made that is allowed to spin/sleep, this error won't happen.