2009-06-02 7 views
2

Je gère un logiciel de serveur Web sur lequel les utilisateurs peuvent déployer des applications Web. Les applications Web s'exécutent en tant que processus distincts: le serveur Web lance un processus d'application Web, transmet la requête HTTP à l'application Web et transmet la réponse de l'application Web au client HTTP. La communication entre le serveur Web et l'application Web s'effectue via des sockets. Certains utilisateurs (= développeurs d'applications Web) signalent qu'ils reçoivent parfois des erreurs EIO mystérieuses lorsqu'ils écrivent sur le socket qui connecte leur application Web au serveur Web (au moins, ils pensent qu'il écrit dans le socket qui provoque l'erreur).). Certains autres signalent qu'ils ont également cette erreur lorsqu'ils écrivent quelque chose dans STDERR (qui est redirigé vers un fichier journal). Redémarrer le serveur Web et l'application Web "corrige" ce problème pour une courte période de temps.Que signifie le code d'erreur EIO?

Que signifie EIO? Je sais que le manuel dit "Erreur d'entrée/sortie" mais cette description est aussi vague que possible. Dans quelles circonstances peut-il se produire et en quoi est-il différent d'ECONNREFUSED/EPIPE/ENOTCONN/etc?

+4

Quoi, pas de blagues sur Old MacDonald? – JeffH

+1

Je suis tombé sur un site qui explique les 32 premières erreurs: http://aplawrence.com/Unixart/errors.html –

Répondre

3

Eh bien, apparemment EIO peut se produire lorsque vous essayez d'écrire sur un périphérique de console déconnecté.

+0

En outre, ce comportement se produit uniquement sur Linux, pas sur OS X. – Hongli