PDA

Visualizza la versione completa : [C] Funzione select()


Manugal
29-11-2006, 17:41
Ciao.

Vorrei capire bene cosa fa questa funzione. Cioè da quanto ho capito dovrebbe aspettare che i file descriptor sui vari sets (readfds,writefds,exceptfds) siano "pronti". Non ho capito che cosa intenda dire quando dice siano pronti, rispettivamente, per la lettura, per la scrittura o per un'eccezione.

Grazie.

fastcoder
30-11-2006, 12:09
Semplicemente per pronti intende:
- readfds, uno o più dei descrittori in questo set ha dati da leggere;
- writefds, uno o più dei descrittori in questo set è pronto per la scrittura;
- exceptfds, uno o più dei descrittori in questo set ha ricevuto un evento speciale (nei socket ad esempio un messaggio Out of Band).

La funzione è molto utile ad esempio con i socket per eseguire semplicemente una read dal socket con un timeout senza ricorrere alla semantica asincrona.

:ciauz:

Manugal
30-11-2006, 16:48
Ok grazie mille ora è chiaro :ciauz:

Loading