Au début de mon application, j'appelle donc
signal(SIGPIPE, SIG_IGN);
ce qui, je le pensais, permettrait à mon application d'ignorer SIGPIPE. Cependant, j'ai toujours obtenu un crash SIGPIPE avec le code suivant :
write(fd, outgoingStr->c_str(), size);
où fd est un int (descripteur de fichier) et size est la taille de la chaîne. Qu'est-ce qui ne va pas ici ?
Par ailleurs, j'ai récemment utilisé cette écriture dans un if pour vérifier si une valeur d'erreur était renvoyée et je crois que je n'ai jamais eu de plantage de SIGPIPE jusqu'à ce que cela soit supprimé. La vérification du if ne faisait rien d'autre que d'envoyer du cout à la console s'il y avait une erreur, donc je ne suis pas sûr que ce soit pertinent ou non.