summaryrefslogtreecommitdiff
path: root/gnu/packages/patches/guile-fibers-libevent-32-bit.patch
blob: a1cc99fdbec62d25fc7af989fef0c675f2e82377 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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;
     }