* 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;
 | |
|      }
 |