guix/gnu/packages/patches/guile-fibers-libevent-32-bi...

19 lines
575 B
Diff

This fixes a bug with the libevent backend on 32-bit platforms:
https://github.com/wingo/fibers/issues/86
diff --git a/extensions/libevent.c b/extensions/libevent.c
index 4f44de9..52c9d73 100644
--- a/extensions/libevent.c
+++ b/extensions/libevent.c
@@ -215,7 +215,8 @@ run_event_loop (void *p)
microsec = -1;
else if (data->timeout >= 0)
{
- microsec = data->timeout / time_units_per_microsec;
+ microsec = (time_units_per_microsec == 0)
+ ? 0 : data->timeout / time_units_per_microsec;
tv.tv_sec = 0;
tv.tv_usec = microsec;
}