aboutsummaryrefslogtreecommitdiff
path: root/src/ui/daemon.c
diff options
context:
space:
mode:
authorPaul Oliver <contact@pauloliver.dev>2025-11-19 04:42:58 +0100
committerPaul Oliver <contact@pauloliver.dev>2025-11-19 16:40:08 +0100
commit0075d1b10c475d303a314a3425ee472252855f32 (patch)
tree2537411ad2b9691f413eeab62d7f541724ea47c6 /src/ui/daemon.c
parentd91b8a6196af711f9dface0c2a0d37794c12ac02 (diff)
Python/SQLite refactor
- Uses Python/Jinja2 to preprocess C files - Uses SQLite3 for data compression
Diffstat (limited to 'src/ui/daemon.c')
-rw-r--r--src/ui/daemon.c63
1 files changed, 0 insertions, 63 deletions
diff --git a/src/ui/daemon.c b/src/ui/daemon.c
deleted file mode 100644
index f74713d..0000000
--- a/src/ui/daemon.c
+++ /dev/null
@@ -1,63 +0,0 @@
-// Project: Salis
-// Author: Paul Oliver
-// Email: contact@pauloliver.dev
-
-/*
- * Implements a minimal UI for the Salis simulator with minimal output and
- * interruptible via OS signals. Ideal for running Salis in the background.
- */
-
-#include <signal.h>
-#include <unistd.h>
-
-volatile bool g_running;
-u64 g_step_block;
-
-void sig_handler(int signo) {
- switch (signo) {
- case SIGINT:
- case SIGTERM:
- printf("signal received, stopping simulator...\n");
- g_running = false;
- break;
- }
-}
-
-void step_block() {
- clock_t beg = clock();
- salis_step(g_step_block - (g_steps % g_step_block));
- clock_t end = clock();
-
- if ((end - beg) < (CLOCKS_PER_SEC * 4)) {
- g_step_block <<= 1;
- }
-
- if ((end - beg) >= (CLOCKS_PER_SEC * 2) && g_step_block != 1) {
- g_step_block >>= 1;
- }
-
- printf("simulator running on step '%#lx'\n", g_steps);
-}
-
-int main() {
-#if ACTION == ACT_NEW
- salis_init();
-#elif ACTION == ACT_LOAD
- salis_load();
-#endif
-
- g_running = true;
- g_step_block = 1;
-
- signal(SIGINT, sig_handler);
- signal(SIGTERM, sig_handler);
-
- while (g_running) {
- step_block();
- }
-
- salis_save(SIM_PATH);
- salis_free();
-
- return 0;
-}