X-Git-Url: http://git.zerfleddert.de/cgi-bin/gitweb.cgi/rigol/blobdiff_plain/165abe625501e7c16934e33e15128eff9a2ad981..7a226bb8f5a070842eed562c04df6b79970a4e4b:/rigold.c diff --git a/rigold.c b/rigold.c index 974a814..8f73431 100644 --- a/rigold.c +++ b/rigold.c @@ -6,6 +6,7 @@ #include #include #include +#include #include "scope.h" #include "commands.h" @@ -115,8 +116,14 @@ static void parse_request(int s, struct scope *sc) } } +void sighandler(int sig) +{ + printf("Signal %d received\n", sig); +} + int main(int argc, char **argv) { + struct sigaction act; int sock, csock; int opt; socklen_t slen; @@ -125,6 +132,18 @@ int main(int argc, char **argv) unsigned short port = 8088; sc = initscope(); + if (sc == NULL) { + printf("Scope not found!\n"); + exit(EXIT_FAILURE); + } + + bzero(&act, sizeof(act)); + act.sa_handler = sighandler; + act.sa_flags = SA_RESTART; + if (sigaction(SIGPIPE, &act, NULL) == -1) { + perror("sigaction"); + exit(EXIT_FAILURE); + } if ((sock = socket(AF_INET, SOCK_STREAM, 0)) == -1) { perror("socket");