zephyr_mirror: Improve robustness when killing child processes.
(imported from commit f212b87ffb1fc814d289c14d3854fb1f2f6e2cf3)
This commit is contained in:
		
							parent
							
								
									ce279d48ae
								
							
						
					
					
						commit
						ff80f7df71
					
				
					 1 changed files with 10 additions and 2 deletions
				
			
		|  | @ -155,7 +155,11 @@ def maybe_restart_mirroring_script(): | |||
|              os.stat(os.path.join(options.root_path, "stamps", "tabbott_stamp")).st_mtime > start_time): | ||||
|         logger.warning("") | ||||
|         logger.warning("zephyr mirroring script has been updated; restarting...") | ||||
|         os.kill(child_pid, signal.SIGTERM) | ||||
|         try: | ||||
|             os.kill(child_pid, signal.SIGTERM) | ||||
|         except OSError: | ||||
|             # We don't care if the child process no longer exists, so just print the error | ||||
|             logging.exception("") | ||||
|         while True: | ||||
|             try: | ||||
|                 if bot_name == "extra_mirror.py": | ||||
|  | @ -751,7 +755,11 @@ or specify the --api-key-file option.""" % (options.api_key_file,))) | |||
|             if int(pid.strip()) != os.getpid(): | ||||
|                 # Another copy of zephyr_mirror.py!  Kill it. | ||||
|                 print "Killing duplicate zephyr_mirror process %s" % (pid,) | ||||
|                 os.kill(int(pid), signal.SIGKILL) | ||||
|                 try: | ||||
|                     os.kill(int(pid), signal.SIGKILL) | ||||
|                 except OSError: | ||||
|                     # We don't care if the child process no longer exists, so just print the error | ||||
|                     traceback.print_exc() | ||||
| 
 | ||||
|     child_pid = os.fork() | ||||
|     if child_pid == 0: | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Tim Abbott
						Tim Abbott