From b3dcc9aa66ec01d52d27cca54d0debf85bc5ffcf Mon Sep 17 00:00:00 2001 From: Pierre Date: Wed, 30 Sep 2026 21:46:28 +0200 Subject: [PATCH] fixed waiting till heat death problem --- main.c | 3 ++- mechanics.c | 1 - 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/main.c b/main.c index da430b7..6fb34cf 100644 --- a/main.c +++ b/main.c @@ -31,9 +31,9 @@ void *physics(void *args) { universe_t *uni = (universe_t *)args; struct timespec ot, ct; while (true) { + clock_gettime(CLOCK_MONOTONIC, &ct); mechanics(uni); ot = ct; - clock_gettime(CLOCK_MONOTONIC, &ct); long long elapsed = timespec_diff_ns(ct, ot); long long remaining = TIMESTEP / simx - elapsed; @@ -46,6 +46,7 @@ void *physics(void *args) { do { clock_gettime(CLOCK_MONOTONIC, &ct); + printf("Waiting !\n"); } while (timespec_diff_ns(ct, ot) < TIMESTEP / simx); } } diff --git a/mechanics.c b/mechanics.c index 71ed866..1f51b49 100644 --- a/mechanics.c +++ b/mechanics.c @@ -82,7 +82,6 @@ void mechanics(universe_t* uni){ body_1 = uni->bodies[i]; scaled_speed = vec2_scale(&body_1.speed, 1.0 / simx); body_1.position = vec2_sum(&body_1.position, &scaled_speed); - printf("aaa"); if (i < uni->num_bodies - 1) { for (unsigned int y = i + 1; y < uni->num_bodies; y++) { body_2 = uni->bodies[y];