On 05-12-07 15:23, ninjaboy wrote:

why if i put TF in my prog and install an handler to SIGTRAP the
handler is not caught?

Works for me.

Rene.
/* gcc -W -Wall -o sigtrap sigtrap.c */

#include <stdlib.h>
#include <stdio.h>
#include <signal.h>

volatile sig_atomic_t trap;

void sigtrap(int signum __attribute__((unused)))
{
        trap = 1;
}

int main(void)
{
        struct sigaction sa;

        sa.sa_handler = sigtrap;
        sigemptyset(&sa.sa_mask);
        sa.sa_flags = 0;

        if (sigaction(SIGTRAP, &sa, NULL) < 0) {
                perror("could not install handler");
                return EXIT_FAILURE;
        }

        asm("int3");

        printf("trap = %d\n", (int)trap);
        return EXIT_SUCCESS;
}

Reply via email to