#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <signal.h>
#include <err.h>
#include "../lpi.h"

void sig_handler(int signo);

int
main(int argc, char *argv[])
{
    struct sigaction sa;
    sa.sa_handler = sig_handler;
    sa.sa_flags = SA_RESTART;

    if (sigaction(SIGINT, &sa, NULL) == -1)
        err(EXIT_FAILURE, "sigaction");

    if (sigaction(SIGUSR1, &sa, NULL) == -1)
        err(EXIT_FAILURE, "sigaction");

    printf("PID=%ld waiting for signal\n", (long) getpid());
    pause();

    exit(EXIT_SUCCESS);
}

void
sig_handler(int signo)
{
    printf("caught signal %s\n", getSigname(signo));
}
