* gnu/packages/messaging.scm (ngircd): New variable. * gnu/packages/patches/ngircd-no-dns-in-tests.patch: New file. * gnu/packages/patches/ngircd-handle-zombies.patch: New file. * gnu-system.am (dist_patch_DATA): Add them.
		
			
				
	
	
		
			36 lines
		
	
	
	
		
			848 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
	
		
			848 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
| The Guile process taking the role of PID 1 during Guix builds does not reap
 | |
| zombie processes, which makes them continue responding to "kill -0".
 | |
| 
 | |
| --- a/src/testsuite/stop-server.sh	2015-02-05 11:24:00.535908842 +0100
 | |
| +++ b/src/testsuite/stop-server.sh	2015-02-05 11:25:00.264351349 +0100
 | |
| @@ -1,6 +1,21 @@
 | |
|  #!/bin/sh
 | |
|  # ngIRCd Test Suite
 | |
|  
 | |
| +process_is_alive(){
 | |
| +    ! process_is_dead "$1" && ! process_is_undead "$1"
 | |
| +}
 | |
| +
 | |
| +process_is_dead(){
 | |
| +    ! kill -0 "$1"
 | |
| +}
 | |
| +
 | |
| +process_is_undead(){
 | |
| +    case $(ps -p "$1" -o state=) in
 | |
| +        (Z*) true ;;
 | |
| +        (*) false ;;
 | |
| +    esac
 | |
| +}
 | |
| +
 | |
|  [ -z "$srcdir" ] && srcdir=`dirname $0`
 | |
|  
 | |
|  # read in functions
 | |
| @@ -24,7 +40,7 @@
 | |
|  
 | |
|  # waiting ...
 | |
|  for i in 1 2 3 4 5; do
 | |
| -  kill -0 $pid > /dev/null 2>&1; r=$?
 | |
| +  process_is_alive $pid > /dev/null 2>&1; r=$?
 | |
|    if [ $r -ne 0 ]; then
 | |
|      echo " ok".
 | |
|      exit 0
 |