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);