eric6/DebugClients/Python/ModuleLoader.py

branch
multi_processing
changeset 7563
b0d6b63f2843
parent 7424
9bb7d8b0f966
child 7646
39e3db2b4936
equal deleted inserted replaced
7428:27c55a3d0b89 7563:b0d6b63f2843
10 import sys 10 import sys
11 import importlib 11 import importlib
12 12
13 from QProcessExtension import patchQProcess 13 from QProcessExtension import patchQProcess
14 from SubprocessExtension import patchSubprocess 14 from SubprocessExtension import patchSubprocess
15 from MultiprocessingExtension import patchMultiprocessing
15 16
16 17
17 class ModuleLoader(object): 18 class ModuleLoader(object):
18 """ 19 """
19 Class implementing an import hook patching modules to support debugging. 20 Class implementing an import hook patching modules to support debugging.
36 37
37 self.__modulesToPatch = ( 38 self.__modulesToPatch = (
38 'thread', '_thread', 'threading', 39 'thread', '_thread', 'threading',
39 'greenlet', 40 'greenlet',
40 'subprocess', 41 'subprocess',
42 'multiprocessing',
41 'PyQt4.QtCore', 'PyQt5.QtCore', 43 'PyQt4.QtCore', 'PyQt5.QtCore',
42 'PySide.QtCore', 'PySide2.QtCore', 44 'PySide.QtCore', 'PySide2.QtCore',
43 ) 45 )
44 46
45 sys.meta_path.insert(0, self) 47 sys.meta_path.insert(0, self)
85 fullname == 'subprocess' and 87 fullname == 'subprocess' and
86 not hasattr(module, 'eric6_patched') 88 not hasattr(module, 'eric6_patched')
87 ): 89 ):
88 module.eric6_patched = True 90 module.eric6_patched = True
89 patchSubprocess(module, self.__dbgClient) 91 patchSubprocess(module, self.__dbgClient)
90 92
93 ## Add hook for multiprocessing.Process
94 elif (
95 fullname == 'multiprocessing' and
96 not hasattr(module, 'eric6_patched')
97 ):
98 module.eric6_patched = True
99 patchMultiprocessing(module, self.__dbgClient)
100
91 ## Add hook for *.QThread and *.QProcess 101 ## Add hook for *.QThread and *.QProcess
92 elif ( 102 elif (
93 fullname in ('PyQt4.QtCore', 'PyQt5.QtCore', 103 fullname in ('PyQt4.QtCore', 'PyQt5.QtCore',
94 'PySide.QtCore', 'PySide2.QtCore') and 104 'PySide.QtCore', 'PySide2.QtCore') and
95 not hasattr(module, 'eric6_patched') 105 not hasattr(module, 'eric6_patched')

eric ide

mercurial