eric6/DebugClients/Python/ModuleLoader.py

branch
multi_processing
changeset 7424
9bb7d8b0f966
parent 7409
1413bfe73d41
child 7563
b0d6b63f2843
--- a/eric6/DebugClients/Python/ModuleLoader.py	Sun Feb 16 19:36:46 2020 +0100
+++ b/eric6/DebugClients/Python/ModuleLoader.py	Mon Feb 17 19:23:27 2020 +0100
@@ -11,6 +11,7 @@
 import importlib
 
 from QProcessExtension import patchQProcess
+from SubprocessExtension import patchSubprocess
 
 
 class ModuleLoader(object):
@@ -36,6 +37,7 @@
         self.__modulesToPatch = (
             'thread', '_thread', 'threading',
             'greenlet',
+            'subprocess',
             'PyQt4.QtCore', 'PyQt5.QtCore',
             'PySide.QtCore', 'PySide2.QtCore',
         )
@@ -78,6 +80,14 @@
             if self.__dbgClient.patchGreenlet(module):
                 module.eric6_patched = True
         
+        ## Add hook for subprocess.Popen()
+        elif (
+            fullname == 'subprocess' and
+            not hasattr(module, 'eric6_patched')
+        ):
+            module.eric6_patched = True
+            patchSubprocess(module, self.__dbgClient)
+            
         ## Add hook for *.QThread and *.QProcess
         elif (
             fullname in ('PyQt4.QtCore', 'PyQt5.QtCore',

eric ide

mercurial