Si je comprend bien, il est inutile de gérer ces erreurs car :
EBADF est dû au fait qu'on ai fait le TcpSocket::disconnect avant le SocketSelector::remove(). C'est donc une faute de l'utilisateur de la SFML.
EINTR est dû au fait qu'on ai réceptionne un signal. Mais comme les SocketSelector::remove() sont placés à l'intérieur d'une boucle, on va juste faire un tour de plus ?
Mais si on ne met qu'un seul TcpSocket dans le SocketSelector pour faire un timeout (comme conseillé dans la doc ou dans le tuto je sais plus), on va déconnecter le TcpSocket prématurément.
Ou alors si on décide que si on a pas de sockets prêt pendant 60 secondes, on déclenche une action particulière ?
ENOMEM est assez rare. Mais ne peut-il pas se produire ? Ne pourrait-on pas gérer cette erreur pour permettre au programmeur de décider quoi faire si jamais cette erreur se produit ?
Ne serait-il même pas plus efficace que SocketSelector::wait() retourne un int (count) et à l'utilisateur de faire le :
if(SocketSelector > 0) ;
Ce qui permettrait par la suite de gérer une éventuelle erreur ?
Non pas que je soit contrariant (bon un petit peu quand même), mais je suis assez curieux de nature et j'aimerais comprendre ce choix et peut être en apprendre quelque chose qui pourrait m'être utile dans mes propres programmes.