| 
				
			 | 
			
			
				
				@@ -103,8 +103,14 @@ static void resolv_sigchld ( struct async *async, 
			 | 
		
		
	
		
			
			| 
				103
			 | 
			
				103
			 | 
			
			
				
				 		container_of ( async, struct resolution, async ); 
			 | 
		
		
	
		
			
			| 
				104
			 | 
			
				104
			 | 
			
			
				
				 	int rc; 
			 | 
		
		
	
		
			
			| 
				105
			 | 
			
				105
			 | 
			
			
				
				  
			 | 
		
		
	
		
			
			| 
				106
			 | 
			
				
			 | 
			
			
				
				-	/* If this child succeeded, kill all the others and return */ 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				106
			 | 
			
			
				
				+	/* Reap the child */ 
			 | 
		
		
	
		
			
			| 
				107
			 | 
			
				107
			 | 
			
			
				
				 	async_wait ( async, &rc, 1 ); 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				108
			 | 
			
			
				
				+ 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				109
			 | 
			
			
				
				+	/* If this child succeeded, kill all the others and return. 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				110
			 | 
			
			
				
				+	 * Killing the others means that this routine may be 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				111
			 | 
			
			
				
				+	 * re-entered; this is safe provided that no child returns a 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				112
			 | 
			
			
				
				+	 * success exit status when killed by SIGKILL. 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				113
			 | 
			
			
				
				+	 */ 
			 | 
		
		
	
		
			
			| 
				108
			 | 
			
				114
			 | 
			
			
				
				 	if ( rc == 0 ) { 
			 | 
		
		
	
		
			
			| 
				109
			 | 
			
				115
			 | 
			
			
				
				 		async_signal_children ( async, SIGKILL ); 
			 | 
		
		
	
		
			
			| 
				110
			 | 
			
				116
			 | 
			
			
				
				 		async_done ( async, 0 ); 
			 |