Untitled

 avatar
unknown
plain_text
2 years ago
606 B
0
Indexable
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include <unistd.h>
#include <stdbool.h>

int sigint_count = 0;

void sigint_handler(int signal){
    if(sigint_count == 0){
        printf("\nCTRL-C 1\n");
        sigint_count++;
        alarm(10);
    } else {
        printf("\nCTRL-C 2\n");
        exit(0);
    }
}
void sigint_timeout(int signal){
    sigint_count = 0;
}

int main() {
    signal(SIGINT, sigint_handler);
    signal(SIGALRM, sigint_timeout);

    int i=0;
    while(true) {
        printf("[%i]\n",i++);
        sleep(1);
    }
    return 0;
}