Is there a way of getting the address of ip from within the signal handler? I want to be able to change the permissions of the page so that the signal doesn't keep firing.

```
static void hdl (int sig, siginfo_t *siginfo, void *context) {

    printf("Caught Signal %d\n", sig);

}

int main() {

    struct sigaction act;
    memset (&act, '\0', sizeof(act));
    act.sa_sigaction = &hdl;
    act.sa_flags = SA_SIGINFO;
    if (sigaction(SIGSEGV, &act, NULL) < 0)
        return 1;

    int *ip = (int *) mmap(NULL, getpagesize(), PROT_READ, MAP_ANONYMOUS, -1, 0);
    *ip = 1;

    printf("%d\n", *ip);

    return 0;
}

```