Change call function to Popen
The call function can deadlock if the child process prints larger output. Use Popen with the communicate() method with you need pipes. If you switch to Popen, you'll get cleaner debugging.
This commit is contained in:
		
							parent
							
								
									54774ab91e
								
							
						
					
					
						commit
						62baabc31e
					
				|  | @ -87,8 +87,8 @@ class ReplicationError(Exception): | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def cmd_exists(cmd): | def cmd_exists(cmd): | ||||||
|     return subprocess.call("type " + cmd, shell=True, |     proc subprocess.Popen("type " + cmd, shell=True, | ||||||
|                            stdout=subprocess.PIPE, stderr=subprocess.PIPE) == 0 |                            stdout=subprocess.PIPE, stderr=subprocess.PIPE) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def replicate_url(full_url, | def replicate_url(full_url, | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue