Bonjour,

Je suis en train de créer un serveur multi-threads en C sous linux.

Au retour de la fonction la fonction accept, j'ai un file descriptor qui correspond à la nouvelle socket créée :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
  accepted_socket_descriptor = accept (...);
Je souhaiterais savoir si tant que je n'ai pas fait appel à
Code : Sélectionner tout - Visualiser dans une fenêtre à part
  close(accepted_socket_descriptor);
Le kernel peut-il re-attribuer le même file descriptor déjà créé?

Si je comprends bien le man du close, normalement non, mais on sait jamais: connexion fermée côté client, erreurs, ...

En d'autres termes, je voudrais utiliser la valeur accepted_socket_descriptor comme identifiant unique de mes clients et être sûr que le kernel n'attribuera jamais le même file descriptor tant que je n'ai pas fait de close.