From 5fceb3766d4bbe30122dd9aa97d85d03dc353d45 Mon Sep 17 00:00:00 2001 From: Ole Algoritme Date: Sun, 24 Mar 2024 11:28:34 +0100 Subject: [PATCH] added signal handlers --- app/src/app.c | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/app/src/app.c b/app/src/app.c index b2cece7..b649b5a 100644 --- a/app/src/app.c +++ b/app/src/app.c @@ -2,17 +2,35 @@ #include "gddr6.h" #include #include +#include -int main(int argc, char **argv) { +void register_signal_handlers(void) +{ + struct sigaction sa; + sa.sa_handler = gddr6_cleanup; + sigemptyset(&sa.sa_mask); + sa.sa_flags = 0; + + sigaction(SIGINT, &sa, NULL); + sigaction(SIGHUP, &sa, NULL); + sigaction(SIGTERM, &sa, NULL); +} + +int main(int argc, char **argv) +{ + + register_signal_handlers(); struct device devices[32]; int num_devs = gddr6_detect_compatible_gpus(devices, 32); - if (num_devs == 0) { + if (num_devs == 0) + { printf("No compatible GPU found.\n"); return 1; } - for (int i = 0; i < num_devs; i++) { + for (int i = 0; i < num_devs; i++) + { struct device *device = &devices[i]; printf("Device: %s %s (%s / 0x%04x) pci=%x:%x:%x\n", device->name, device->vram, device->arch, device->dev_id, device->bus, device->dev, device->func);