http://linux.die.net/man/2/select
Return Value
On success, select() and pselect() return the number of file descriptors contained in the three returned descriptor sets ( that is, the total number of bits that are set in readfds, writefds, exceptfds ) which may be zero if the timeout expires before anything interesting happens. On error, -1 is returned, and errno is set appropriately; the sets and timeout become undefined , so do not rely on their contents after an error.
ja eigentlich gut übersetzt
Errors
EBADF
An invalid file descriptor was given in one of the sets. (Perhaps a file descriptor that was already closed, or one on which an error has occurred.)
EINTR
A signal was caught.
EINVAL
nfds is negative or the value contained within timeout is invalid.
ENOMEM
unable to allocate memory for internal tables.