Eh bien ... c'est à peu près cela, je semble obtenir une erreur "Illegal Seek" lors de la vérification de ma variable errno. Le problème est que je n'ai aucune idée de ce que cela peut signifier.Obtenir l'erreur "Illegal Seek" après avoir appelé accept()
Je sais que les sockets sont traités comme des fichiers sous unix, mais je ne vois pas comment cela peut être lié aux sockets. Ce que je fais est exactement:
int sck = ::accept(m_socket, (struct sockaddr*)&client_address, (socklen_t*)&address_len);
Puis-je obtenir SCK = -1 et errno = ESPIPE
Et la chose étrange est que cela arrive au hasard. Je veux dire, parfois le code fonctionne bien, et parfois il y a une exception. Je travaille avec des threads, c'est compréhensible. Mais je voudrais juste savoir quel genre de comportement fait l'appel de accept() pour définir errno comme ESPIPE afin que je puisse vérifier les paramethers par exemple.
Merci Nelson R. Pérez
Avez-vous essayé d'exécuter 'strace' sur votre exécutable? Vous pourriez voir plus définitivement comment «accepter» échoue. La page 'man' n'inclut rien sur' ESPIPE'. –