Try Again

It is very common to get this error when your application is doing non-blocking operations on files or network sockets. For example, you can open a file/socket/fifo for reading with the O_NONBLOCK flag. If you subsequently do a read(2) call and there is no data waiting, instead of blocking and waiting until there is data ready and returning that data, the read() call will return an error (EAGAIN) to let your application know that there is no data ready and to try again later.

Another example is if a system call failed due to insufficient resources (such as virtual memory), but it might succeed if called again. (eg fork(2) does this).