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.

Log in or register to write something here or to contact authors.