commit 2ca397bfcca94c106380368b5b0ce920b0a62a95 Author: Ludovic Courtès Date: Sat Jan 6 16:22:45 2024 +0100 libevent: Fix computation of the timeout value. diff --git a/extensions/libevent.c b/extensions/libevent.c index 134460a..62e50a3 100644 --- a/extensions/libevent.c +++ b/extensions/libevent.c @@ -192,30 +192,27 @@ scm_primitive_resize (SCM lst, SCM eventsv) } #undef FUNC_NAME -static uint64_t time_units_per_microsec; +static uint64_t time_units_per_microsec, microsec_per_time_units; static void* run_event_loop (void *p) #define FUNC_NAME "primitive-event-loop" { - int ret = 0; - int microsec = 0; - struct timeval tv; - + int ret; struct loop_data *data = p; - if (data->timeout < 0) - microsec = -1; - else if (data->timeout >= 0) + if (data->timeout >= 0) { - microsec = (time_units_per_microsec == 0) - ? 0 : data->timeout / time_units_per_microsec; - tv.tv_sec = 0; - tv.tv_usec = microsec; - } + struct timeval tv; + + tv.tv_sec = data->timeout / scm_c_time_units_per_second; + tv.tv_usec = + time_units_per_microsec > 0 + ? ((data->timeout % scm_c_time_units_per_second) + / time_units_per_microsec) + : ((data->timeout % scm_c_time_units_per_second) + * microsec_per_time_units); - if (microsec >= 0) - { ret = event_base_loopexit (data->base, &tv); if (ret == -1) SCM_MISC_ERROR ("event loop exit failed", SCM_EOL); @@ -307,6 +304,7 @@ void init_fibers_libevt (void) { time_units_per_microsec = scm_c_time_units_per_second / 1000000; + microsec_per_time_units = 1000000 / scm_c_time_units_per_second; scm_c_define_gsubr ("primitive-event-wake", 1, 0, 0, scm_primitive_event_wake); hor'>author
path: root/gnu/packages/matrix.scm
AgeCommit message (Expand)Author
2023-02-11gnu: pantalaimon: Install documentation and use gexps....* gnu/packages/matrix.scm (pantalaimon)[arguments]: Turn into gexps. Add install-doc phase. Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr> Morgan Smith
2022-10-02gnu: pantalaimon: Update to 0.10.5....* gnu/packages/matrix.scm (pantalaimon): Update to 0.10.5. Signed-off-by: Efraim Flashner <efraim@flashner.co.il> Michael Rohleder
2022-10-02gnu: python-matrix-nio: Update to 0.20.0....* gnu/packages/matrix.scm (python-matrix-nio): Update to 0.20.0. [native-inputs]: Add python-pytest-asyncio. [propagated-inputs]: Changed python-jsonschema to python-jsonschema-next. Signed-off-by: Efraim Flashner <efraim@flashner.co.il> Michael Rohleder