Suppress spurious "killing process N: Operation not permitted" on macOS
This commit is contained in:
		
							parent
							
								
									25230a17a9
								
							
						
					
					
						commit
						177f3996e2
					
				
					 1 changed files with 9 additions and 2 deletions
				
			
		|  | @ -724,8 +724,15 @@ int Pid::kill() | |||
|     /* Send the requested signal to the child.  If it has its own
 | ||||
|        process group, send the signal to every process in the child | ||||
|        process group (which hopefully includes *all* its children). */ | ||||
|     if (::kill(separatePG ? -pid : pid, killSignal) != 0) | ||||
|         printError((SysError(format("killing process %1%") % pid).msg())); | ||||
|     if (::kill(separatePG ? -pid : pid, killSignal) != 0) { | ||||
|         /* On BSDs, killing a process group will return EPERM if all
 | ||||
|            processes in the group are zombies (or something like | ||||
|            that). So try to detect and ignore that situation. */ | ||||
| #if __FreeBSD__ || __APPLE__ | ||||
|         if (errno != EPERM || ::kill(pid, 0) != 0) | ||||
| #endif | ||||
|             printError((SysError("killing process %d", pid).msg())); | ||||
|     } | ||||
| 
 | ||||
|     return wait(); | ||||
| } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue