J'ai une application CGI qui sur un site rencontre de temps en temps l'erreur 101. Je vais être plus précis : c'est un programme en Pascal, qui me renvoit un IOResult à 101, lors de certains renvois de fichiers (sur le flux de sortie standard, puisque c'est un CGI).
Je me demandais d'où venais l'erreur, et comme je sais que le IOResult renvois tout simplement le code d'erreur renvoyé par la fonction système invoquées, j'ai alors recherché sur le web ce que je pouvais trouvé dans les code d'erreur système du noyau.
J'ai trouvé ceci :
errno.h dit :
#define ENETUNREACH 101 /* Network is unreachable */
Ici
http://www.cab.u-szeged.hu/linux/kernel/linux/include/asm/errno.h.html
depuis là
http://www.cab.u-szeged.hu/linux/kernel/linux/include/linux/errno.h.html
Network is unreachable : même si je m'attendais plutôt à trouvé un code d'erreur spécifique aux entrés/sorties, ça me semble cohérent. J'imagine que le flux de sortie est directement connecté à une socket (probablement Apache qui fait cela automatiquement).
Mais la question que je me pose maintenant : que signifie concrêtement ce code d'erreur ?
Est-ce que ça signifie que la connexion avec le client a été perdue ? Comme l'erreur se produit pendant un renvoie de fichier, qui est alors interrompu, je craignais que le client ne reçoive qu'un fichier incomplet. Mais si ce message signifie (ce qui reste à vérifier), que la connexion avec le client a été perdue, alors ça signifie que le client ne reçois rien et donc qu'il ne reçois pas non-plus de fichier incomplet.
Je ne sais pas si je suis clair dans mon exposé de la vision des choses...
Que pensez-vous de l'interpretation à donner à ce code d'erreur dans ce contexte ? Est-ce que la connexion avec le client est perdue et que c'est donc plus un abandon de l'opération et donc aucune erreur n'est par le client, ou est-ce que c'est une erreur perçue par le client qui reçois alors un fichier incomplet ?