Как предотвратить SIGPIPE (или обращаться с ними правильно)

У меня есть небольшая серверная программа, которая принимает соединения через TCP или локальный сокет UNIX, читает простую команду и, в зависимости от команды, отправляет ответ. Проблема в том, что клиент может быть не заинтересован в ответе иногда и выходит рано, поэтому запись в этот сокет вызовет SIGPIPE и приведет к сбою моего сервера. Какова лучшая практика для предотвращения аварии здесь? Есть ли способ проверить, читает ли другая сторона строки? (select () здесь не работает, так как всегда говорит, что сокет доступен для записи). Или я должен просто поймать SIGPIPE с помощью обработчика и игнорировать его?

Ответы на вопрос(10)

Ваш ответ на вопрос