LINUX.ORG.RU

История изменений

Исправление beastie, (текущая версия) :

sa_handler и sa_sigaction — это union. Т.е. сначала ты его устанавливаешь (SIG_IGN) и тут же обнуляешь. Вот так будет работать:

#include <signal.h>
#include <unistd.h>

int
main()
{
        struct sigaction sa;

        sigemptyset(&sa.sa_mask);
        sa.sa_handler = SIG_IGN;
        sa.sa_flags = 0;
        sigaction(SIGINT, &sa, NULL);

        pause();

        return 0;
}

UPD: в манах сила, но только не в «гнутых» :( Используй лучше «бздшные» или «маковые», про «гнуные» просто забудь. http://mdoc.su/o/sigaction

Исходная версия beastie, :

sa_handler и sa_sigaction — это union. Т.е. сначала ты его устанавливаешь (SIG_IGN) и тут же обнуляешь. Вот так будет работать:

#include <signal.h>
#include <unistd.h>

int
main()
{
        struct sigaction sa;

        sigemptyset(&sa.sa_mask);
        sa.sa_handler = SIG_IGN;
        sa.sa_flags = 0;
        sigaction(SIGINT, &sa, NULL);

        pause();

        return 0;
}