Select Befehl

Hallo,

ich habe wieder eine frage:

Was liefert der select() Aufruf als Ergebnis zurück?

Lösung

–> Bei Erfolg gibt der select die Anzahl der Deskriptoren zurück, deren Status sich geändert hat.
Kann auch „0“ sein, wenn das Zeitlimit abgeaufen ist. Bei Fehler --> „-1“ und error gesetzt

meint ihr das ist okay so? ich glaub das passt nicht genau…

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 :smile:

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.