summaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/main.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/main.c b/src/main.c
index 8a4835a..d51e6c3 100644
--- a/src/main.c
+++ b/src/main.c
@@ -3,6 +3,13 @@
#include <stdio.h>
#include <stdlib.h>
+#include <signal.h>
+
+static bool close = false;
+
+static void signal_handler() {
+ close = true;
+}
int main (void) {
Screen screen;
@@ -10,8 +17,10 @@ int main (void) {
Camera camera;
init_camera(&camera);
+
+ signal(SIGINT, signal_handler);
- while (poll_screen(&screen)) {
+ while (poll_screen(&screen) && !close) {
render(&screen, &camera);
update_camera(&camera, &screen);