summaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
authorTyler Murphy <tylerm@tylerm.dev>2023-04-24 15:59:41 -0400
committerTyler Murphy <tylerm@tylerm.dev>2023-04-24 15:59:41 -0400
commit3c25e6a318524ab8d999cd86d7db03c573271e51 (patch)
treef685bf86629338c3a03e69ba13bf48bcb556fc3a /src/main.c
parenti made a swapchain (diff)
downloadraycaster-3c25e6a318524ab8d999cd86d7db03c573271e51.tar.gz
raycaster-3c25e6a318524ab8d999cd86d7db03c573271e51.tar.bz2
raycaster-3c25e6a318524ab8d999cd86d7db03c573271e51.zip
signal handeling and properly close swapchain
Diffstat (limited to 'src/main.c')
-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);