diff --git a/main.c b/main.c index 3ab8e34..8acc41f 100644 --- a/main.c +++ b/main.c @@ -16,6 +16,7 @@ * . */ +#include #include #include #include @@ -65,8 +66,23 @@ int main(int argc, char *argv[]) return 1; } + struct sockaddr_in6 paddr; + socklen_t paddr_size = sizeof(paddr); + int cfd; while (!exit_requested) { - sleep(1); + cfd = accept(sfd, (struct sockaddr *)&paddr, &paddr_size); + if (cfd == -1) { + if (errno != EINTR) { + fprintf(stderr, "Error accepting connection\n"); + return 1; + } else { + continue; + } + } + + printf("Accepted connection\n"); + + close(cfd); } close(sfd);