* gnu/packages/guile-xyz.scm (guile-fibers-1.3): New variable. (guile-fibers-1.1): Inherit from it. * gnu/packages/patches/guile-fibers-libevent-32-bit.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it.
		
			
				
	
	
		
			18 lines
		
	
	
	
		
			575 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			18 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;
 | 
						|
     }
 |