2009-06-02 13 views
2

Ich betreue Webserver-Software, auf der Benutzer Webanwendungen bereitstellen können. Webanwendungen werden als separate Prozesse ausgeführt: Der Webserver startet einen Webanwendungsvorgang, leitet die HTTP-Anforderung an die Webanwendung weiter und leitet die Antwort der Webanwendung an den HTTP-Client zurück. Die Kommunikation zwischen dem Webserver und der Webanwendung erfolgt über Sockets.Was bedeutet der EIO-Fehlercode?

Einige Benutzer (= Webanwendungsentwickler) berichten, dass sie gelegentlich mysteriöse EIO-Fehler bekommen, wenn sie in den Socket schreiben, der ihre Webanwendung mit dem Webserver verbindet (zumindest denken sie, dass sie in den Socket schreibt, der den Fehler verursacht)). Einige andere berichten, dass sie diesen Fehler auch bekommen, wenn sie etwas in STDERR schreiben (das zu einer Protokolldatei umgeleitet wird). Der Neustart des Webservers und der Webanwendung "behebt" dieses Problem für eine kurze Zeit.

Was bedeutet EIO? Ich weiß, das Handbuch sagt "Input/Output-Fehler", aber diese Beschreibung ist so vage wie es nur geht. Unter welchen Umständen kann es auftreten und wie unterscheidet es sich von ECONNREFUSED/EPIPE/ENOTCONN/etc?

+4

Was, kein Old MacDonald Witze? – JeffH

+1

Ich stieß auf eine Website, die die ersten 32 Fehler erläutert: http://aplawrence.com/Unixart/errors.html –

Antwort

3

Nun, offenbar kann EIO auftreten, wenn Sie versuchen, auf ein getrenntes Konsolengerät zu schreiben.

+0

Darüber hinaus tritt dieses Verhalten nur unter Linux, nicht unter OS X. – Hongli