16 |
16 |
17 a { color: #BA6D36; } |
17 a { color: #BA6D36; } |
18 |
18 |
19 </style> |
19 </style> |
20 </head> |
20 </head> |
21 <body><a NAME="top" ID="top"></a> |
21 <body> |
|
22 <a NAME="top" ID="top"></a> |
22 <h1>eric6.DebugClients.Python.ThreadExtension</h1> |
23 <h1>eric6.DebugClients.Python.ThreadExtension</h1> |
|
24 |
23 <p> |
25 <p> |
24 Module implementing an import hook patching thread modules to get debugged too. |
26 Module implementing an import hook patching thread modules to get debugged too. |
25 </p> |
27 </p> |
26 <h3>Global Attributes</h3> |
28 <h3>Global Attributes</h3> |
|
29 |
27 <table> |
30 <table> |
28 <tr><td>_qtThreadNumber</td></tr> |
31 <tr><td>_qtThreadNumber</td></tr> |
29 </table> |
32 </table> |
30 <h3>Classes</h3> |
33 <h3>Classes</h3> |
31 <table> |
34 |
|
35 <table> |
|
36 |
32 <tr> |
37 <tr> |
33 <td><a href="#QThreadWrapper">QThreadWrapper</a></td> |
38 <td><a href="#QThreadWrapper">QThreadWrapper</a></td> |
34 <td>Wrapper class for *.QThread.</td> |
39 <td>Wrapper class for *.QThread.</td> |
35 </tr><tr> |
40 </tr> |
|
41 <tr> |
36 <td><a href="#ThreadExtension">ThreadExtension</a></td> |
42 <td><a href="#ThreadExtension">ThreadExtension</a></td> |
37 <td>Class implementing the thread support for the debugger.</td> |
43 <td>Class implementing the thread support for the debugger.</td> |
38 </tr><tr> |
44 </tr> |
|
45 <tr> |
39 <td><a href="#ThreadWrapper">ThreadWrapper</a></td> |
46 <td><a href="#ThreadWrapper">ThreadWrapper</a></td> |
40 <td>Wrapper class for threading.Thread.</td> |
47 <td>Wrapper class for threading.Thread.</td> |
41 </tr><tr> |
48 </tr> |
|
49 <tr> |
42 <td><a href="#TimerWrapper">TimerWrapper</a></td> |
50 <td><a href="#TimerWrapper">TimerWrapper</a></td> |
43 <td>Wrapper class for threading.(_)Timer.</td> |
51 <td>Wrapper class for threading.(_)Timer.</td> |
44 </tr> |
52 </tr> |
45 </table> |
53 </table> |
46 <h3>Functions</h3> |
54 <h3>Functions</h3> |
47 <table> |
55 |
48 <tr><td>None</td></tr> |
56 <table> |
49 </table> |
57 <tr><td>None</td></tr> |
50 <hr /><hr /> |
58 </table> |
|
59 <hr /> |
|
60 <hr /> |
51 <a NAME="QThreadWrapper" ID="QThreadWrapper"></a> |
61 <a NAME="QThreadWrapper" ID="QThreadWrapper"></a> |
52 <h2>QThreadWrapper</h2> |
62 <h2>QThreadWrapper</h2> |
|
63 |
53 <p> |
64 <p> |
54 Wrapper class for *.QThread. |
65 Wrapper class for *.QThread. |
55 </p> |
66 </p> |
56 <h3>Derived from</h3> |
67 <h3>Derived from</h3> |
57 module.QThread |
68 module.QThread |
58 <h3>Class Attributes</h3> |
69 <h3>Class Attributes</h3> |
|
70 |
59 <table> |
71 <table> |
60 <tr><td>None</td></tr> |
72 <tr><td>None</td></tr> |
61 </table> |
73 </table> |
62 <h3>Class Methods</h3> |
74 <h3>Class Methods</h3> |
|
75 |
63 <table> |
76 <table> |
64 <tr><td>None</td></tr> |
77 <tr><td>None</td></tr> |
65 </table> |
78 </table> |
66 <h3>Methods</h3> |
79 <h3>Methods</h3> |
67 <table> |
80 |
|
81 <table> |
|
82 |
68 <tr> |
83 <tr> |
69 <td><a href="#QThreadWrapper.__init__">QThreadWrapper</a></td> |
84 <td><a href="#QThreadWrapper.__init__">QThreadWrapper</a></td> |
70 <td>Constructor</td> |
85 <td>Constructor</td> |
71 </tr> |
86 </tr> |
72 </table> |
87 </table> |
73 <h3>Static Methods</h3> |
88 <h3>Static Methods</h3> |
74 <table> |
89 |
75 <tr><td>None</td></tr> |
90 <table> |
76 </table> |
91 <tr><td>None</td></tr> |
|
92 </table> |
|
93 |
77 <a NAME="QThreadWrapper.__init__" ID="QThreadWrapper.__init__"></a> |
94 <a NAME="QThreadWrapper.__init__" ID="QThreadWrapper.__init__"></a> |
78 <h4>QThreadWrapper (Constructor)</h4> |
95 <h4>QThreadWrapper (Constructor)</h4> |
79 <b>QThreadWrapper</b>(<i>*args, **kwargs</i>) |
96 <b>QThreadWrapper</b>(<i>*args, **kwargs</i>) |
|
97 |
80 <p> |
98 <p> |
81 Constructor |
99 Constructor |
82 </p> |
100 </p> |
83 <div align="right"><a href="#top">Up</a></div> |
101 <div align="right"><a href="#top">Up</a></div> |
84 <hr /><hr /> |
102 <hr /> |
|
103 <hr /> |
85 <a NAME="ThreadExtension" ID="ThreadExtension"></a> |
104 <a NAME="ThreadExtension" ID="ThreadExtension"></a> |
86 <h2>ThreadExtension</h2> |
105 <h2>ThreadExtension</h2> |
|
106 |
87 <p> |
107 <p> |
88 Class implementing the thread support for the debugger. |
108 Class implementing the thread support for the debugger. |
89 </p><p> |
109 </p> |
|
110 <p> |
90 Provides methods for intercepting thread creation, retriving the running |
111 Provides methods for intercepting thread creation, retriving the running |
91 threads and their name and state. |
112 threads and their name and state. |
92 </p> |
113 </p> |
93 <h3>Derived from</h3> |
114 <h3>Derived from</h3> |
94 object |
115 object |
95 <h3>Class Attributes</h3> |
116 <h3>Class Attributes</h3> |
|
117 |
96 <table> |
118 <table> |
97 <tr><td>None</td></tr> |
119 <tr><td>None</td></tr> |
98 </table> |
120 </table> |
99 <h3>Class Methods</h3> |
121 <h3>Class Methods</h3> |
|
122 |
100 <table> |
123 <table> |
101 <tr><td>None</td></tr> |
124 <tr><td>None</td></tr> |
102 </table> |
125 </table> |
103 <h3>Methods</h3> |
126 <h3>Methods</h3> |
104 <table> |
127 |
|
128 <table> |
|
129 |
105 <tr> |
130 <tr> |
106 <td><a href="#ThreadExtension.__init__">ThreadExtension</a></td> |
131 <td><a href="#ThreadExtension.__init__">ThreadExtension</a></td> |
107 <td>Constructor</td> |
132 <td>Constructor</td> |
108 </tr><tr> |
133 </tr> |
|
134 <tr> |
109 <td><a href="#ThreadExtension._bootstrap">_bootstrap</a></td> |
135 <td><a href="#ThreadExtension._bootstrap">_bootstrap</a></td> |
110 <td>Bootstrap for threading, which reports exceptions correctly.</td> |
136 <td>Bootstrap for threading, which reports exceptions correctly.</td> |
111 </tr><tr> |
137 </tr> |
|
138 <tr> |
112 <td><a href="#ThreadExtension._bootstrapQThread">_bootstrapQThread</a></td> |
139 <td><a href="#ThreadExtension._bootstrapQThread">_bootstrapQThread</a></td> |
113 <td>Bootstrap for QThread, which reports exceptions correctly.</td> |
140 <td>Bootstrap for QThread, which reports exceptions correctly.</td> |
114 </tr><tr> |
141 </tr> |
|
142 <tr> |
115 <td><a href="#ThreadExtension.attachThread">attachThread</a></td> |
143 <td><a href="#ThreadExtension.attachThread">attachThread</a></td> |
116 <td>Public method to setup a standard thread for DebugClient to debug.</td> |
144 <td>Public method to setup a standard thread for DebugClient to debug.</td> |
117 </tr><tr> |
145 </tr> |
|
146 <tr> |
118 <td><a href="#ThreadExtension.dumpThreadList">dumpThreadList</a></td> |
147 <td><a href="#ThreadExtension.dumpThreadList">dumpThreadList</a></td> |
119 <td>Public method to send the list of threads.</td> |
148 <td>Public method to send the list of threads.</td> |
120 </tr><tr> |
149 </tr> |
|
150 <tr> |
121 <td><a href="#ThreadExtension.find_module">find_module</a></td> |
151 <td><a href="#ThreadExtension.find_module">find_module</a></td> |
122 <td>Public method returning the module loader.</td> |
152 <td>Public method returning the module loader.</td> |
123 </tr><tr> |
153 </tr> |
|
154 <tr> |
124 <td><a href="#ThreadExtension.getExecutedFrame">getExecutedFrame</a></td> |
155 <td><a href="#ThreadExtension.getExecutedFrame">getExecutedFrame</a></td> |
125 <td>Public method to return the currently executed frame.</td> |
156 <td>Public method to return the currently executed frame.</td> |
126 </tr><tr> |
157 </tr> |
|
158 <tr> |
127 <td><a href="#ThreadExtension.load_module">load_module</a></td> |
159 <td><a href="#ThreadExtension.load_module">load_module</a></td> |
128 <td>Public method to load a module.</td> |
160 <td>Public method to load a module.</td> |
129 </tr><tr> |
161 </tr> |
|
162 <tr> |
130 <td><a href="#ThreadExtension.lockClient">lockClient</a></td> |
163 <td><a href="#ThreadExtension.lockClient">lockClient</a></td> |
131 <td>Public method to acquire the lock for this client.</td> |
164 <td>Public method to acquire the lock for this client.</td> |
132 </tr><tr> |
165 </tr> |
|
166 <tr> |
133 <td><a href="#ThreadExtension.setCurrentThread">setCurrentThread</a></td> |
167 <td><a href="#ThreadExtension.setCurrentThread">setCurrentThread</a></td> |
134 <td>Public method to set the current thread.</td> |
168 <td>Public method to set the current thread.</td> |
135 </tr><tr> |
169 </tr> |
|
170 <tr> |
136 <td><a href="#ThreadExtension.threadTerminated">threadTerminated</a></td> |
171 <td><a href="#ThreadExtension.threadTerminated">threadTerminated</a></td> |
137 <td>Public method called when a DebugThread has exited.</td> |
172 <td>Public method called when a DebugThread has exited.</td> |
138 </tr><tr> |
173 </tr> |
|
174 <tr> |
139 <td><a href="#ThreadExtension.unlockClient">unlockClient</a></td> |
175 <td><a href="#ThreadExtension.unlockClient">unlockClient</a></td> |
140 <td>Public method to release the lock for this client.</td> |
176 <td>Public method to release the lock for this client.</td> |
141 </tr><tr> |
177 </tr> |
|
178 <tr> |
142 <td><a href="#ThreadExtension.updateThreadList">updateThreadList</a></td> |
179 <td><a href="#ThreadExtension.updateThreadList">updateThreadList</a></td> |
143 <td>Public method to update the list of running threads.</td> |
180 <td>Public method to update the list of running threads.</td> |
144 </tr> |
181 </tr> |
145 </table> |
182 </table> |
146 <h3>Static Methods</h3> |
183 <h3>Static Methods</h3> |
147 <table> |
184 |
148 <tr><td>None</td></tr> |
185 <table> |
149 </table> |
186 <tr><td>None</td></tr> |
|
187 </table> |
|
188 |
150 <a NAME="ThreadExtension.__init__" ID="ThreadExtension.__init__"></a> |
189 <a NAME="ThreadExtension.__init__" ID="ThreadExtension.__init__"></a> |
151 <h4>ThreadExtension (Constructor)</h4> |
190 <h4>ThreadExtension (Constructor)</h4> |
152 <b>ThreadExtension</b>(<i></i>) |
191 <b>ThreadExtension</b>(<i></i>) |
|
192 |
153 <p> |
193 <p> |
154 Constructor |
194 Constructor |
155 </p><a NAME="ThreadExtension._bootstrap" ID="ThreadExtension._bootstrap"></a> |
195 </p> |
|
196 <a NAME="ThreadExtension._bootstrap" ID="ThreadExtension._bootstrap"></a> |
156 <h4>ThreadExtension._bootstrap</h4> |
197 <h4>ThreadExtension._bootstrap</h4> |
157 <b>_bootstrap</b>(<i>run</i>) |
198 <b>_bootstrap</b>(<i>run</i>) |
|
199 |
158 <p> |
200 <p> |
159 Bootstrap for threading, which reports exceptions correctly. |
201 Bootstrap for threading, which reports exceptions correctly. |
160 </p><dl> |
202 </p> |
|
203 <dl> |
|
204 |
161 <dt><i>run</i> (method pointer)</dt> |
205 <dt><i>run</i> (method pointer)</dt> |
162 <dd> |
206 <dd> |
163 the run method of threading.Thread |
207 the run method of threading.Thread |
164 </dd> |
208 </dd> |
165 </dl><a NAME="ThreadExtension._bootstrapQThread" ID="ThreadExtension._bootstrapQThread"></a> |
209 </dl> |
|
210 <a NAME="ThreadExtension._bootstrapQThread" ID="ThreadExtension._bootstrapQThread"></a> |
166 <h4>ThreadExtension._bootstrapQThread</h4> |
211 <h4>ThreadExtension._bootstrapQThread</h4> |
167 <b>_bootstrapQThread</b>(<i>run</i>) |
212 <b>_bootstrapQThread</b>(<i>run</i>) |
|
213 |
168 <p> |
214 <p> |
169 Bootstrap for QThread, which reports exceptions correctly. |
215 Bootstrap for QThread, which reports exceptions correctly. |
170 </p><dl> |
216 </p> |
|
217 <dl> |
|
218 |
171 <dt><i>run</i> (method pointer)</dt> |
219 <dt><i>run</i> (method pointer)</dt> |
172 <dd> |
220 <dd> |
173 the run method of *.QThread |
221 the run method of *.QThread |
174 </dd> |
222 </dd> |
175 </dl><a NAME="ThreadExtension.attachThread" ID="ThreadExtension.attachThread"></a> |
223 </dl> |
|
224 <a NAME="ThreadExtension.attachThread" ID="ThreadExtension.attachThread"></a> |
176 <h4>ThreadExtension.attachThread</h4> |
225 <h4>ThreadExtension.attachThread</h4> |
177 <b>attachThread</b>(<i>target=None, args=None, kwargs=None, mainThread=False</i>) |
226 <b>attachThread</b>(<i>target=None, args=None, kwargs=None, mainThread=False</i>) |
|
227 |
178 <p> |
228 <p> |
179 Public method to setup a standard thread for DebugClient to debug. |
229 Public method to setup a standard thread for DebugClient to debug. |
180 </p><p> |
230 </p> |
|
231 <p> |
181 If mainThread is True, then we are attaching to the already |
232 If mainThread is True, then we are attaching to the already |
182 started mainthread of the app and the rest of the args are ignored. |
233 started mainthread of the app and the rest of the args are ignored. |
183 </p><dl> |
234 </p> |
|
235 <dl> |
|
236 |
184 <dt><i>target</i></dt> |
237 <dt><i>target</i></dt> |
185 <dd> |
238 <dd> |
186 the start function of the target thread (i.e. the user |
239 the start function of the target thread (i.e. the user |
187 code) |
240 code) |
188 </dd><dt><i>args</i></dt> |
241 </dd> |
|
242 <dt><i>args</i></dt> |
189 <dd> |
243 <dd> |
190 arguments to pass to target |
244 arguments to pass to target |
191 </dd><dt><i>kwargs</i></dt> |
245 </dd> |
|
246 <dt><i>kwargs</i></dt> |
192 <dd> |
247 <dd> |
193 keyword arguments to pass to target |
248 keyword arguments to pass to target |
194 </dd><dt><i>mainThread</i></dt> |
249 </dd> |
|
250 <dt><i>mainThread</i></dt> |
195 <dd> |
251 <dd> |
196 True, if we are attaching to the already |
252 True, if we are attaching to the already |
197 started mainthread of the app |
253 started mainthread of the app |
198 </dd> |
254 </dd> |
199 </dl><dl> |
255 </dl> |
|
256 <dl> |
200 <dt>Returns:</dt> |
257 <dt>Returns:</dt> |
201 <dd> |
258 <dd> |
202 identifier of the created thread |
259 identifier of the created thread |
203 </dd> |
260 </dd> |
204 </dl><a NAME="ThreadExtension.dumpThreadList" ID="ThreadExtension.dumpThreadList"></a> |
261 </dl> |
|
262 <a NAME="ThreadExtension.dumpThreadList" ID="ThreadExtension.dumpThreadList"></a> |
205 <h4>ThreadExtension.dumpThreadList</h4> |
263 <h4>ThreadExtension.dumpThreadList</h4> |
206 <b>dumpThreadList</b>(<i></i>) |
264 <b>dumpThreadList</b>(<i></i>) |
|
265 |
207 <p> |
266 <p> |
208 Public method to send the list of threads. |
267 Public method to send the list of threads. |
209 </p><a NAME="ThreadExtension.find_module" ID="ThreadExtension.find_module"></a> |
268 </p> |
|
269 <a NAME="ThreadExtension.find_module" ID="ThreadExtension.find_module"></a> |
210 <h4>ThreadExtension.find_module</h4> |
270 <h4>ThreadExtension.find_module</h4> |
211 <b>find_module</b>(<i>fullname, path=None</i>) |
271 <b>find_module</b>(<i>fullname, path=None</i>) |
|
272 |
212 <p> |
273 <p> |
213 Public method returning the module loader. |
274 Public method returning the module loader. |
214 </p><dl> |
275 </p> |
|
276 <dl> |
|
277 |
215 <dt><i>fullname</i> (str)</dt> |
278 <dt><i>fullname</i> (str)</dt> |
216 <dd> |
279 <dd> |
217 name of the module to be loaded |
280 name of the module to be loaded |
218 </dd><dt><i>path</i> (str)</dt> |
281 </dd> |
|
282 <dt><i>path</i> (str)</dt> |
219 <dd> |
283 <dd> |
220 path to resolve the module name |
284 path to resolve the module name |
221 </dd> |
285 </dd> |
222 </dl><dl> |
286 </dl> |
|
287 <dl> |
223 <dt>Returns:</dt> |
288 <dt>Returns:</dt> |
224 <dd> |
289 <dd> |
225 module loader object |
290 module loader object |
226 </dd> |
291 </dd> |
227 </dl><dl> |
292 </dl> |
|
293 <dl> |
228 <dt>Return Type:</dt> |
294 <dt>Return Type:</dt> |
229 <dd> |
295 <dd> |
230 object |
296 object |
231 </dd> |
297 </dd> |
232 </dl><a NAME="ThreadExtension.getExecutedFrame" ID="ThreadExtension.getExecutedFrame"></a> |
298 </dl> |
|
299 <a NAME="ThreadExtension.getExecutedFrame" ID="ThreadExtension.getExecutedFrame"></a> |
233 <h4>ThreadExtension.getExecutedFrame</h4> |
300 <h4>ThreadExtension.getExecutedFrame</h4> |
234 <b>getExecutedFrame</b>(<i>frame</i>) |
301 <b>getExecutedFrame</b>(<i>frame</i>) |
|
302 |
235 <p> |
303 <p> |
236 Public method to return the currently executed frame. |
304 Public method to return the currently executed frame. |
237 </p><dl> |
305 </p> |
|
306 <dl> |
|
307 |
238 <dt><i>frame</i> (frame object)</dt> |
308 <dt><i>frame</i> (frame object)</dt> |
239 <dd> |
309 <dd> |
240 the current frame |
310 the current frame |
241 </dd> |
311 </dd> |
242 </dl><dl> |
312 </dl> |
|
313 <dl> |
243 <dt>Returns:</dt> |
314 <dt>Returns:</dt> |
244 <dd> |
315 <dd> |
245 the frame which is excecuted (without debugger frames) |
316 the frame which is excecuted (without debugger frames) |
246 </dd> |
317 </dd> |
247 </dl><dl> |
318 </dl> |
|
319 <dl> |
248 <dt>Return Type:</dt> |
320 <dt>Return Type:</dt> |
249 <dd> |
321 <dd> |
250 frame object |
322 frame object |
251 </dd> |
323 </dd> |
252 </dl><a NAME="ThreadExtension.load_module" ID="ThreadExtension.load_module"></a> |
324 </dl> |
|
325 <a NAME="ThreadExtension.load_module" ID="ThreadExtension.load_module"></a> |
253 <h4>ThreadExtension.load_module</h4> |
326 <h4>ThreadExtension.load_module</h4> |
254 <b>load_module</b>(<i>fullname</i>) |
327 <b>load_module</b>(<i>fullname</i>) |
|
328 |
255 <p> |
329 <p> |
256 Public method to load a module. |
330 Public method to load a module. |
257 </p><dl> |
331 </p> |
|
332 <dl> |
|
333 |
258 <dt><i>fullname</i> (str)</dt> |
334 <dt><i>fullname</i> (str)</dt> |
259 <dd> |
335 <dd> |
260 name of the module to be loaded |
336 name of the module to be loaded |
261 </dd> |
337 </dd> |
262 </dl><dl> |
338 </dl> |
|
339 <dl> |
263 <dt>Returns:</dt> |
340 <dt>Returns:</dt> |
264 <dd> |
341 <dd> |
265 reference to the loaded module |
342 reference to the loaded module |
266 </dd> |
343 </dd> |
267 </dl><dl> |
344 </dl> |
|
345 <dl> |
268 <dt>Return Type:</dt> |
346 <dt>Return Type:</dt> |
269 <dd> |
347 <dd> |
270 module |
348 module |
271 </dd> |
349 </dd> |
272 </dl><a NAME="ThreadExtension.lockClient" ID="ThreadExtension.lockClient"></a> |
350 </dl> |
|
351 <a NAME="ThreadExtension.lockClient" ID="ThreadExtension.lockClient"></a> |
273 <h4>ThreadExtension.lockClient</h4> |
352 <h4>ThreadExtension.lockClient</h4> |
274 <b>lockClient</b>(<i>blocking=True</i>) |
353 <b>lockClient</b>(<i>blocking=True</i>) |
|
354 |
275 <p> |
355 <p> |
276 Public method to acquire the lock for this client. |
356 Public method to acquire the lock for this client. |
277 </p><dl> |
357 </p> |
|
358 <dl> |
|
359 |
278 <dt><i>blocking</i> (bool)</dt> |
360 <dt><i>blocking</i> (bool)</dt> |
279 <dd> |
361 <dd> |
280 flag to indicating a blocking lock |
362 flag to indicating a blocking lock |
281 </dd> |
363 </dd> |
282 </dl><dl> |
364 </dl> |
|
365 <dl> |
283 <dt>Returns:</dt> |
366 <dt>Returns:</dt> |
284 <dd> |
367 <dd> |
285 flag indicating successful locking |
368 flag indicating successful locking |
286 </dd> |
369 </dd> |
287 </dl><dl> |
370 </dl> |
|
371 <dl> |
288 <dt>Return Type:</dt> |
372 <dt>Return Type:</dt> |
289 <dd> |
373 <dd> |
290 bool |
374 bool |
291 </dd> |
375 </dd> |
292 </dl><a NAME="ThreadExtension.setCurrentThread" ID="ThreadExtension.setCurrentThread"></a> |
376 </dl> |
|
377 <a NAME="ThreadExtension.setCurrentThread" ID="ThreadExtension.setCurrentThread"></a> |
293 <h4>ThreadExtension.setCurrentThread</h4> |
378 <h4>ThreadExtension.setCurrentThread</h4> |
294 <b>setCurrentThread</b>(<i>threadId</i>) |
379 <b>setCurrentThread</b>(<i>threadId</i>) |
|
380 |
295 <p> |
381 <p> |
296 Public method to set the current thread. |
382 Public method to set the current thread. |
297 </p><dl> |
383 </p> |
|
384 <dl> |
|
385 |
298 <dt><i>threadId</i> (int)</dt> |
386 <dt><i>threadId</i> (int)</dt> |
299 <dd> |
387 <dd> |
300 the id the current thread should be set to. |
388 the id the current thread should be set to. |
301 </dd> |
389 </dd> |
302 </dl><a NAME="ThreadExtension.threadTerminated" ID="ThreadExtension.threadTerminated"></a> |
390 </dl> |
|
391 <a NAME="ThreadExtension.threadTerminated" ID="ThreadExtension.threadTerminated"></a> |
303 <h4>ThreadExtension.threadTerminated</h4> |
392 <h4>ThreadExtension.threadTerminated</h4> |
304 <b>threadTerminated</b>(<i>threadId</i>) |
393 <b>threadTerminated</b>(<i>threadId</i>) |
|
394 |
305 <p> |
395 <p> |
306 Public method called when a DebugThread has exited. |
396 Public method called when a DebugThread has exited. |
307 </p><dl> |
397 </p> |
|
398 <dl> |
|
399 |
308 <dt><i>threadId</i> (int)</dt> |
400 <dt><i>threadId</i> (int)</dt> |
309 <dd> |
401 <dd> |
310 id of the DebugThread that has exited |
402 id of the DebugThread that has exited |
311 </dd> |
403 </dd> |
312 </dl><a NAME="ThreadExtension.unlockClient" ID="ThreadExtension.unlockClient"></a> |
404 </dl> |
|
405 <a NAME="ThreadExtension.unlockClient" ID="ThreadExtension.unlockClient"></a> |
313 <h4>ThreadExtension.unlockClient</h4> |
406 <h4>ThreadExtension.unlockClient</h4> |
314 <b>unlockClient</b>(<i></i>) |
407 <b>unlockClient</b>(<i></i>) |
|
408 |
315 <p> |
409 <p> |
316 Public method to release the lock for this client. |
410 Public method to release the lock for this client. |
317 </p><a NAME="ThreadExtension.updateThreadList" ID="ThreadExtension.updateThreadList"></a> |
411 </p> |
|
412 <a NAME="ThreadExtension.updateThreadList" ID="ThreadExtension.updateThreadList"></a> |
318 <h4>ThreadExtension.updateThreadList</h4> |
413 <h4>ThreadExtension.updateThreadList</h4> |
319 <b>updateThreadList</b>(<i></i>) |
414 <b>updateThreadList</b>(<i></i>) |
|
415 |
320 <p> |
416 <p> |
321 Public method to update the list of running threads. |
417 Public method to update the list of running threads. |
322 </p> |
418 </p> |
323 <div align="right"><a href="#top">Up</a></div> |
419 <div align="right"><a href="#top">Up</a></div> |
324 <hr /><hr /> |
420 <hr /> |
|
421 <hr /> |
325 <a NAME="ThreadWrapper" ID="ThreadWrapper"></a> |
422 <a NAME="ThreadWrapper" ID="ThreadWrapper"></a> |
326 <h2>ThreadWrapper</h2> |
423 <h2>ThreadWrapper</h2> |
|
424 |
327 <p> |
425 <p> |
328 Wrapper class for threading.Thread. |
426 Wrapper class for threading.Thread. |
329 </p> |
427 </p> |
330 <h3>Derived from</h3> |
428 <h3>Derived from</h3> |
331 module.Thread |
429 module.Thread |
332 <h3>Class Attributes</h3> |
430 <h3>Class Attributes</h3> |
|
431 |
333 <table> |
432 <table> |
334 <tr><td>timer</td></tr> |
433 <tr><td>timer</td></tr> |
335 </table> |
434 </table> |
336 <h3>Class Methods</h3> |
435 <h3>Class Methods</h3> |
|
436 |
337 <table> |
437 <table> |
338 <tr><td>None</td></tr> |
438 <tr><td>None</td></tr> |
339 </table> |
439 </table> |
340 <h3>Methods</h3> |
440 <h3>Methods</h3> |
341 <table> |
441 |
|
442 <table> |
|
443 |
342 <tr> |
444 <tr> |
343 <td><a href="#ThreadWrapper.__init__">ThreadWrapper</a></td> |
445 <td><a href="#ThreadWrapper.__init__">ThreadWrapper</a></td> |
344 <td>Constructor</td> |
446 <td>Constructor</td> |
345 </tr> |
447 </tr> |
346 </table> |
448 </table> |
347 <h3>Static Methods</h3> |
449 <h3>Static Methods</h3> |
348 <table> |
450 |
349 <tr><td>None</td></tr> |
451 <table> |
350 </table> |
452 <tr><td>None</td></tr> |
|
453 </table> |
|
454 |
351 <a NAME="ThreadWrapper.__init__" ID="ThreadWrapper.__init__"></a> |
455 <a NAME="ThreadWrapper.__init__" ID="ThreadWrapper.__init__"></a> |
352 <h4>ThreadWrapper (Constructor)</h4> |
456 <h4>ThreadWrapper (Constructor)</h4> |
353 <b>ThreadWrapper</b>(<i>*args, **kwargs</i>) |
457 <b>ThreadWrapper</b>(<i>*args, **kwargs</i>) |
|
458 |
354 <p> |
459 <p> |
355 Constructor |
460 Constructor |
356 </p> |
461 </p> |
357 <div align="right"><a href="#top">Up</a></div> |
462 <div align="right"><a href="#top">Up</a></div> |
358 <hr /><hr /> |
463 <hr /> |
|
464 <hr /> |
359 <a NAME="TimerWrapper" ID="TimerWrapper"></a> |
465 <a NAME="TimerWrapper" ID="TimerWrapper"></a> |
360 <h2>TimerWrapper</h2> |
466 <h2>TimerWrapper</h2> |
|
467 |
361 <p> |
468 <p> |
362 Wrapper class for threading.(_)Timer. |
469 Wrapper class for threading.(_)Timer. |
363 </p> |
470 </p> |
364 <h3>Derived from</h3> |
471 <h3>Derived from</h3> |
365 timer, ThreadWrapper |
472 timer, ThreadWrapper |
366 <h3>Class Attributes</h3> |
473 <h3>Class Attributes</h3> |
|
474 |
367 <table> |
475 <table> |
368 <tr><td>None</td></tr> |
476 <tr><td>None</td></tr> |
369 </table> |
477 </table> |
370 <h3>Class Methods</h3> |
478 <h3>Class Methods</h3> |
|
479 |
371 <table> |
480 <table> |
372 <tr><td>None</td></tr> |
481 <tr><td>None</td></tr> |
373 </table> |
482 </table> |
374 <h3>Methods</h3> |
483 <h3>Methods</h3> |
375 <table> |
484 |
|
485 <table> |
|
486 |
376 <tr> |
487 <tr> |
377 <td><a href="#TimerWrapper.__init__">TimerWrapper</a></td> |
488 <td><a href="#TimerWrapper.__init__">TimerWrapper</a></td> |
378 <td>Constructor</td> |
489 <td>Constructor</td> |
379 </tr> |
490 </tr> |
380 </table> |
491 </table> |
381 <h3>Static Methods</h3> |
492 <h3>Static Methods</h3> |
382 <table> |
493 |
383 <tr><td>None</td></tr> |
494 <table> |
384 </table> |
495 <tr><td>None</td></tr> |
|
496 </table> |
|
497 |
385 <a NAME="TimerWrapper.__init__" ID="TimerWrapper.__init__"></a> |
498 <a NAME="TimerWrapper.__init__" ID="TimerWrapper.__init__"></a> |
386 <h4>TimerWrapper (Constructor)</h4> |
499 <h4>TimerWrapper (Constructor)</h4> |
387 <b>TimerWrapper</b>(<i>interval, function, *args, **kwargs</i>) |
500 <b>TimerWrapper</b>(<i>interval, function, *args, **kwargs</i>) |
|
501 |
388 <p> |
502 <p> |
389 Constructor |
503 Constructor |
390 </p> |
504 </p> |
391 <div align="right"><a href="#top">Up</a></div> |
505 <div align="right"><a href="#top">Up</a></div> |
392 <hr /> |
506 <hr /> |