Когда (и почему) использовать sigaction() вместо signal()?

Я внимательно изучаю системные функции signal() и sigaction().

Я прочитал несколько страниц об этих двух функциях, и они в основном говорили о различиях, таких как переносимость и «условие отсутствия гонки».

Может ли кто-нибудь прояснить это для меня?

p.s. Мне посоветовали использовать функцию sigaction(), а не функцию signal(), когда мы пытаемся изменить управляющие сигналы. Почему это?

Любая помощь будет оценена по достоинству. Спасибо вам, ребята!!


person Iankimm    schedule 26.02.2015    source источник
comment
Возможный дубликат В чем разница между sigaction и signal?   -  person pilcrow    schedule 19.04.2016


Ответы (1)


sigaction() обеспечивает больше контроля, чем signal(). Signal() была исходной используемой функцией, но для обеспечения обратной совместимости при добавлении дополнительных функций было выбрано новое имя, когда вы хотите установить новые флаги и т. д.

person Stian Skjelstad    schedule 19.04.2016