8Fermer10
GodzilLe 02/12/2010 à 18:43
man 2 select:
int select(int nfds, fd_set *readfds, fd_set *writefds,
fd_set *exceptfds, struct timeval *timeout);

[...]
select() and pselect() allow a program to monitor multiple file descriptors, waiting until one or more of the file descriptors become "ready" for some class of I/O operation
(e.g., input possible). A file descriptor is considered ready if it is possible to perform the corresponding I/O operation (e.g., read(2)) without blocking.


On remarque que select est appelé avec les valeur :

select(9, [0 5 8], [], NULL, {0, 8386}) = 2 (in [0 5], left {0, 8384})

Donc il attend sur 0, 5 et 8 (readfds)

que sont 0, 5 et 8 ?
0 est stdout
5 est le dernier open retournant 5, cad socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 5
donc c'est une socket reseau
8 est socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 8
donc une socket aussi.

Tu as donc un probleme reseau dans cet environement.