34 lines
		
	
	
		
			830 B
		
	
	
	
		
			Factor
		
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			830 B
		
	
	
	
		
			Factor
		
	
	
| USING: calendar continuations io kernel libc math namespaces
 | |
| threads tools.test unix.ffi unix.process unix.signals ;
 | |
| IN: unix.signals.tests
 | |
| 
 | |
| SYMBOL: sigusr1-count
 | |
| 0 sigusr1-count set-global
 | |
| 
 | |
| CONSTANT: test-sigusr1-handler [ 1 sigusr1-count +@ ]
 | |
| 
 | |
| "=========" print
 | |
| "NOTE: This test uses SIGUSR1. It may break or cause unwanted behavior" print
 | |
| "if other SIGUSR1 handlers are installed." print
 | |
| "=========" print flush
 | |
| 
 | |
| test-sigusr1-handler SIGUSR1 add-signal-handler
 | |
| [
 | |
| 
 | |
|     [ 1 ] [
 | |
|         sigusr1-count get-global
 | |
|         SIGUSR1 raise drop
 | |
|         0.5 seconds sleep
 | |
|         sigusr1-count get-global
 | |
|         swap -
 | |
|     ] unit-test
 | |
| 
 | |
| ] [ test-sigusr1-handler SIGUSR1 remove-signal-handler ] [ ] cleanup
 | |
| 
 | |
| { 0 } [
 | |
|     sigusr1-count get-global
 | |
|     SIGUSR1 raise drop
 | |
|     0.5 seconds sleep
 | |
|     sigusr1-count get-global swap -
 | |
| ] unit-test
 |