Вы пишете библиотеку или приложение?Если вы пишете библиотеку, вам не нужно устанавливать обработчики сигналов, которые могут конфликтовать с вызывающим приложением.Приложение должно обрабатывать такие сигналы, если оно того хочет, а затем делать соответствующие вызовы очистки вашей библиотеки (вне контекста обработчика сигналов).
Конечно, даже если вы пишете приложениеНет никаких причин обрабатывать SIGINT
для закрытия сокетов и освобождения памяти.Единственные причины для обработки сигнала: если вы не хотите прерывать или если у вас есть несохраненные данные или общее состояние (например, содержимое в общей памяти или файловой системе), которое необходимобыть очищенным перед прекращением.Освобождение памяти или закрытие файловых дескрипторов, которые используются исключительно вашим собственным процессом, - это не те задачи, которые вам нужно выполнять при выходе.