VEF Blog

Titre du blog : Vefblog, le site
Auteur : vefblog
Date de création : 28-12-2004
 
posté le 19-03-2008 à 22:56:14

SIGPIPE

Plusieures heures à chercher pourquoi l'appel write() faisait parfois planter le service des stats écrit en langage C. J'ai du éxécuter le programme avec gdb pour comprendre ce qui se passait.

 

Parce que il faut d'abord faire ignorer le signal SIGPIPE pour avoir une chance de traiter l'erreur générée par write() ou send(), et de fermer la connection. Sinon, le programme plante sans mot dire.

 

Au début, éxecuter : 

 

signal (SIGPIPE, SIG_IGN);

 

 

A encadrer.. 

 

Sinon, la bonne nouvelle c'est que ce service qui gère toutes le comptage des visites en temps réel, tient le choc même avec plusieurs millions de visites et de blogs (dans ce cas il prend 250Mo de RAM, mais reste très disponible et rapide). Je viens de simuler ca sur mon PC..

 

Bon, un article pas pour tout le monde, mais je vais essayer de temps en temps de faire ici des articles techniques sur mon expérience grâce à Vefblog. 

En tout cas, celui-ci peut dépanner du monde.. 

 

Commentaires

coconuts le 19-03-2008 à 23:27:04
ah ça me servira plus tard quand j aurais mieux appris ^^et donc ça devrait ne plus planter là 8-)