1 import org.python.core.*;
3 public class threading extends java.lang.Object {
4 static String[] jpy$mainProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions"};
5 static String[] jpy$proxyProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions", "python.options.showJavaExceptions", "true"};
6 static String[] jpy$packages = new String[] {"java.net", null, "java.lang", null, "org.python.core", null, "java.io", null, "java.util.zip", null};
8 public static class _PyInner extends PyFunctionTable implements PyRunnable {
9 private static PyObject s$0;
10 private static PyObject i$1;
11 private static PyObject s$2;
12 private static PyObject s$3;
13 private static PyObject i$4;
14 private static PyObject s$5;
15 private static PyObject s$6;
16 private static PyObject s$7;
17 private static PyObject s$8;
18 private static PyObject s$9;
19 private static PyObject s$10;
20 private static PyObject s$11;
21 private static PyObject s$12;
22 private static PyObject s$13;
23 private static PyObject s$14;
24 private static PyObject s$15;
25 private static PyObject f$16;
26 private static PyObject f$17;
27 private static PyObject f$18;
28 private static PyObject s$19;
29 private static PyObject s$20;
30 private static PyObject s$21;
31 private static PyObject s$22;
32 private static PyObject s$23;
33 private static PyObject s$24;
34 private static PyObject s$25;
35 private static PyObject s$26;
36 private static PyObject s$27;
37 private static PyObject s$28;
38 private static PyObject s$29;
39 private static PyObject s$30;
40 private static PyObject s$31;
41 private static PyObject s$32;
42 private static PyObject s$33;
43 private static PyObject s$34;
44 private static PyObject s$35;
45 private static PyObject s$36;
46 private static PyObject s$37;
47 private static PyObject s$38;
48 private static PyObject s$39;
49 private static PyObject s$40;
50 private static PyObject s$41;
51 private static PyObject s$42;
52 private static PyObject s$43;
53 private static PyObject s$44;
54 private static PyObject s$45;
55 private static PyObject s$46;
56 private static PyObject s$47;
57 private static PyObject s$48;
58 private static PyObject s$49;
59 private static PyObject s$50;
60 private static PyObject s$51;
61 private static PyObject s$52;
62 private static PyObject s$53;
63 private static PyObject s$54;
64 private static PyObject s$55;
65 private static PyObject s$56;
66 private static PyObject s$57;
67 private static PyObject s$58;
68 private static PyObject s$59;
69 private static PyObject f$60;
70 private static PyObject s$61;
71 private static PyObject i$62;
72 private static PyObject i$63;
73 private static PyObject i$64;
74 private static PyObject s$65;
75 private static PyObject s$66;
76 private static PyObject s$67;
77 private static PyFunctionTable funcTable;
78 private static PyCode c$0___init__;
79 private static PyCode c$1__note;
80 private static PyCode c$2__Verbose;
81 private static PyCode c$3___init__;
82 private static PyCode c$4__note;
83 private static PyCode c$5__Verbose;
84 private static PyCode c$6_RLock;
85 private static PyCode c$7___init__;
86 private static PyCode c$8___repr__;
87 private static PyCode c$9_acquire;
88 private static PyCode c$10_release;
89 private static PyCode c$11__acquire_restore;
90 private static PyCode c$12__release_save;
91 private static PyCode c$13__is_owned;
92 private static PyCode c$14__RLock;
93 private static PyCode c$15_Condition;
94 private static PyCode c$16___init__;
95 private static PyCode c$17___repr__;
96 private static PyCode c$18__release_save;
97 private static PyCode c$19__acquire_restore;
98 private static PyCode c$20__is_owned;
99 private static PyCode c$21_wait;
100 private static PyCode c$22_notify;
101 private static PyCode c$23_notifyAll;
102 private static PyCode c$24__Condition;
103 private static PyCode c$25_Semaphore;
104 private static PyCode c$26___init__;
105 private static PyCode c$27_acquire;
106 private static PyCode c$28_release;
107 private static PyCode c$29__Semaphore;
108 private static PyCode c$30_Event;
109 private static PyCode c$31___init__;
110 private static PyCode c$32_isSet;
111 private static PyCode c$33_set;
112 private static PyCode c$34_clear;
113 private static PyCode c$35_wait;
114 private static PyCode c$36__Event;
115 private static PyCode c$37__newname;
116 private static PyCode c$38___init__;
117 private static PyCode c$39__set_daemon;
118 private static PyCode c$40___repr__;
119 private static PyCode c$41_start;
120 private static PyCode c$42_run;
121 private static PyCode c$43__Thread__bootstrap;
122 private static PyCode c$44__Thread__stop;
123 private static PyCode c$45__Thread__delete;
124 private static PyCode c$46_join;
125 private static PyCode c$47_getName;
126 private static PyCode c$48_setName;
127 private static PyCode c$49_isAlive;
128 private static PyCode c$50_isDaemon;
129 private static PyCode c$51_setDaemon;
130 private static PyCode c$52_Thread;
131 private static PyCode c$53___init__;
132 private static PyCode c$54__set_daemon;
133 private static PyCode c$55___MainThread__exitfunc;
134 private static PyCode c$56__MainThread;
135 private static PyCode c$57__pickSomeNonDaemonThread;
136 private static PyCode c$58___init__;
137 private static PyCode c$59__set_daemon;
138 private static PyCode c$60_join;
139 private static PyCode c$61__DummyThread;
140 private static PyCode c$62_currentThread;
141 private static PyCode c$63_activeCount;
142 private static PyCode c$64_enumerate;
143 private static PyCode c$65___init__;
144 private static PyCode c$66_put;
145 private static PyCode c$67_get;
146 private static PyCode c$68_BoundedQueue;
147 private static PyCode c$69___init__;
148 private static PyCode c$70_run;
149 private static PyCode c$71_ProducerThread;
150 private static PyCode c$72___init__;
151 private static PyCode c$73_run;
152 private static PyCode c$74_ConsumerThread;
153 private static PyCode c$75__test;
154 private static PyCode c$76_main;
155 private static void initConstants() {
156 s$0 = Py.newString("Proposed new threading module, emulating a subset of Java's threading model.");
157 i$1 = Py.newInteger(0);
158 s$2 = Py.newString("%s: %s\012");
159 s$3 = Py.newString("<%s(%s, %d)>");
160 i$4 = Py.newInteger(1);
161 s$5 = Py.newString("%s.acquire(%s): recursive success");
162 s$6 = Py.newString("%s.acquire(%s): initial succes");
163 s$7 = Py.newString("%s.acquire(%s): failure");
164 s$8 = Py.newString("release() of un-acquire()d lock");
165 s$9 = Py.newString("%s.release(): final release");
166 s$10 = Py.newString("%s.release(): non-final release");
167 s$11 = Py.newString("%s._acquire_restore()");
168 s$12 = Py.newString("%s._release_save()");
169 s$13 = Py.newString("<Condition(%s, %d)>");
170 s$14 = Py.newString("wait() of un-acquire()d lock");
171 s$15 = Py.newString("%s.wait(): got it");
172 f$16 = Py.newFloat(1.0E-6);
173 f$17 = Py.newFloat(1.0);
174 f$18 = Py.newFloat(2.0);
175 s$19 = Py.newString("%s.wait(%s): timed out");
176 s$20 = Py.newString("%s.wait(%s): got it");
177 s$21 = Py.newString("notify() of un-acquire()d lock");
178 s$22 = Py.newString("%s.notify(): no waiters");
179 s$23 = Py.newString("%s.notify(): notifying %d waiter%s");
180 s$24 = Py.newString("s");
181 s$25 = Py.newString("");
182 s$26 = Py.newString("Semaphore initial value must be >= 0");
183 s$27 = Py.newString("Thread-%d");
184 s$28 = Py.newString("group argument must be None for now");
185 s$29 = Py.newString("Thread.__init__() was not called");
186 s$30 = Py.newString("initial");
187 s$31 = Py.newString("started");
188 s$32 = Py.newString("stopped");
189 s$33 = Py.newString(" daemon");
190 s$34 = Py.newString("<%s(%s, %s)>");
191 s$35 = Py.newString("Thread.__init__() not called");
192 s$36 = Py.newString("thread already started");
193 s$37 = Py.newString("%s.start(): starting thread");
194 s$38 = Py.newString("%s.__bootstrap(): thread started");
195 s$39 = Py.newString("%s.__bootstrap(): raised SystemExit");
196 s$40 = Py.newString("%s.__bootstrap(): unhandled exception");
197 s$41 = Py.newString("Exception in thread %s:\012%s\012");
198 s$42 = Py.newString("%s.__bootstrap(): normal return");
199 s$43 = Py.newString("cannot join thread before it is started");
200 s$44 = Py.newString("cannot join current thread");
201 s$45 = Py.newString("%s.join(): waiting until thread stops");
202 s$46 = Py.newString("%s.join(): thread stopped");
203 s$47 = Py.newString("%s.join(): timed out");
204 s$48 = Py.newString("cannot set daemon status of active thread");
205 s$49 = Py.newString("MainThread");
206 s$50 = Py.newString("%s: waiting for other threads");
207 s$51 = Py.newString("%s: exiting");
208 s$52 = Py.newString("Dummy-%d");
209 s$53 = Py.newString("cannot join a dummy thread");
210 s$54 = Py.newString("put(%s): queue full");
211 s$55 = Py.newString("put(%s): appended, length now %d");
212 s$56 = Py.newString("get(): queue empty");
213 s$57 = Py.newString("get(): got %s, %d left");
214 s$58 = Py.newString("Producer");
215 s$59 = Py.newString("%s.%d");
216 f$60 = Py.newFloat(1.0E-5);
217 s$61 = Py.newString("Consumer");
218 i$62 = Py.newInteger(3);
219 i$63 = Py.newInteger(4);
220 i$64 = Py.newInteger(5);
221 s$65 = Py.newString("Producer-%d");
222 s$66 = Py.newString("__main__");
223 s$67 = Py.newString("/usr/share/jython/Lib-cpython/threading.py");
224 funcTable = new _PyInner();
225 c$0___init__ = Py.newCode(2, new String[] {"self", "verbose"}, "/usr/share/jython/Lib-cpython/threading.py", "__init__", false, false, funcTable, 0, null, null, 0, 1);
226 c$1__note = Py.newCode(3, new String[] {"self", "format", "args"}, "/usr/share/jython/Lib-cpython/threading.py", "_note", true, false, funcTable, 1, null, null, 0, 1);
227 c$2__Verbose = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "_Verbose", false, false, funcTable, 2, null, null, 0, 0);
228 c$3___init__ = Py.newCode(2, new String[] {"self", "verbose"}, "/usr/share/jython/Lib-cpython/threading.py", "__init__", false, false, funcTable, 3, null, null, 0, 1);
229 c$4__note = Py.newCode(2, new String[] {"self", "args"}, "/usr/share/jython/Lib-cpython/threading.py", "_note", true, false, funcTable, 4, null, null, 0, 1);
230 c$5__Verbose = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "_Verbose", false, false, funcTable, 5, null, null, 0, 0);
231 c$6_RLock = Py.newCode(2, new String[] {"args", "kwargs"}, "/usr/share/jython/Lib-cpython/threading.py", "RLock", true, true, funcTable, 6, null, null, 0, 1);
232 c$7___init__ = Py.newCode(2, new String[] {"self", "verbose"}, "/usr/share/jython/Lib-cpython/threading.py", "__init__", false, false, funcTable, 7, null, null, 0, 1);
233 c$8___repr__ = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "__repr__", false, false, funcTable, 8, null, null, 0, 1);
234 c$9_acquire = Py.newCode(2, new String[] {"self", "blocking", "me", "rc"}, "/usr/share/jython/Lib-cpython/threading.py", "acquire", false, false, funcTable, 9, null, null, 0, 1);
235 c$10_release = Py.newCode(1, new String[] {"self", "count", "me"}, "/usr/share/jython/Lib-cpython/threading.py", "release", false, false, funcTable, 10, null, null, 0, 1);
236 c$11__acquire_restore = Py.newCode(2, new String[] {"self", "(count, owner)", "owner", "count"}, "/usr/share/jython/Lib-cpython/threading.py", "_acquire_restore", false, false, funcTable, 11, null, null, 0, 1);
237 c$12__release_save = Py.newCode(1, new String[] {"self", "owner", "count"}, "/usr/share/jython/Lib-cpython/threading.py", "_release_save", false, false, funcTable, 12, null, null, 0, 1);
238 c$13__is_owned = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "_is_owned", false, false, funcTable, 13, null, null, 0, 1);
239 c$14__RLock = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "_RLock", false, false, funcTable, 14, null, null, 0, 0);
240 c$15_Condition = Py.newCode(2, new String[] {"args", "kwargs"}, "/usr/share/jython/Lib-cpython/threading.py", "Condition", true, true, funcTable, 15, null, null, 0, 1);
241 c$16___init__ = Py.newCode(3, new String[] {"self", "lock", "verbose"}, "/usr/share/jython/Lib-cpython/threading.py", "__init__", false, false, funcTable, 16, null, null, 0, 1);
242 c$17___repr__ = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "__repr__", false, false, funcTable, 17, null, null, 0, 1);
243 c$18__release_save = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "_release_save", false, false, funcTable, 18, null, null, 0, 1);
244 c$19__acquire_restore = Py.newCode(2, new String[] {"self", "x"}, "/usr/share/jython/Lib-cpython/threading.py", "_acquire_restore", false, false, funcTable, 19, null, null, 0, 1);
245 c$20__is_owned = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "_is_owned", false, false, funcTable, 20, null, null, 0, 1);
246 c$21_wait = Py.newCode(2, new String[] {"self", "timeout", "endtime", "saved_state", "delay", "me", "gotit", "waiter"}, "/usr/share/jython/Lib-cpython/threading.py", "wait", false, false, funcTable, 21, null, null, 0, 1);
247 c$22_notify = Py.newCode(2, new String[] {"self", "n", "__waiters", "waiters", "me", "waiter"}, "/usr/share/jython/Lib-cpython/threading.py", "notify", false, false, funcTable, 22, null, null, 0, 1);
248 c$23_notifyAll = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "notifyAll", false, false, funcTable, 23, null, null, 0, 1);
249 c$24__Condition = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "_Condition", false, false, funcTable, 24, null, null, 0, 0);
250 c$25_Semaphore = Py.newCode(2, new String[] {"args", "kwargs"}, "/usr/share/jython/Lib-cpython/threading.py", "Semaphore", true, true, funcTable, 25, null, null, 0, 1);
251 c$26___init__ = Py.newCode(3, new String[] {"self", "value", "verbose"}, "/usr/share/jython/Lib-cpython/threading.py", "__init__", false, false, funcTable, 26, null, null, 0, 1);
252 c$27_acquire = Py.newCode(2, new String[] {"self", "blocking", "rc"}, "/usr/share/jython/Lib-cpython/threading.py", "acquire", false, false, funcTable, 27, null, null, 0, 1);
253 c$28_release = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "release", false, false, funcTable, 28, null, null, 0, 1);
254 c$29__Semaphore = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "_Semaphore", false, false, funcTable, 29, null, null, 0, 0);
255 c$30_Event = Py.newCode(2, new String[] {"args", "kwargs"}, "/usr/share/jython/Lib-cpython/threading.py", "Event", true, true, funcTable, 30, null, null, 0, 1);
256 c$31___init__ = Py.newCode(2, new String[] {"self", "verbose"}, "/usr/share/jython/Lib-cpython/threading.py", "__init__", false, false, funcTable, 31, null, null, 0, 1);
257 c$32_isSet = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "isSet", false, false, funcTable, 32, null, null, 0, 1);
258 c$33_set = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "set", false, false, funcTable, 33, null, null, 0, 1);
259 c$34_clear = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "clear", false, false, funcTable, 34, null, null, 0, 1);
260 c$35_wait = Py.newCode(2, new String[] {"self", "timeout"}, "/usr/share/jython/Lib-cpython/threading.py", "wait", false, false, funcTable, 35, null, null, 0, 1);
261 c$36__Event = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "_Event", false, false, funcTable, 36, null, null, 0, 0);
262 c$37__newname = Py.newCode(1, new String[] {"template"}, "/usr/share/jython/Lib-cpython/threading.py", "_newname", false, false, funcTable, 37, null, null, 0, 1);
263 c$38___init__ = Py.newCode(7, new String[] {"self", "group", "target", "name", "args", "kwargs", "verbose"}, "/usr/share/jython/Lib-cpython/threading.py", "__init__", false, false, funcTable, 38, null, null, 0, 1);
264 c$39__set_daemon = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "_set_daemon", false, false, funcTable, 39, null, null, 0, 1);
265 c$40___repr__ = Py.newCode(1, new String[] {"self", "status"}, "/usr/share/jython/Lib-cpython/threading.py", "__repr__", false, false, funcTable, 40, null, null, 0, 1);
266 c$41_start = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "start", false, false, funcTable, 41, null, null, 0, 1);
267 c$42_run = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "run", false, false, funcTable, 42, null, null, 0, 1);
268 c$43__Thread__bootstrap = Py.newCode(1, new String[] {"self", "s"}, "/usr/share/jython/Lib-cpython/threading.py", "_Thread__bootstrap", false, false, funcTable, 43, null, null, 0, 1);
269 c$44__Thread__stop = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "_Thread__stop", false, false, funcTable, 44, null, null, 0, 1);
270 c$45__Thread__delete = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "_Thread__delete", false, false, funcTable, 45, null, null, 0, 1);
271 c$46_join = Py.newCode(2, new String[] {"self", "timeout", "delay", "deadline"}, "/usr/share/jython/Lib-cpython/threading.py", "join", false, false, funcTable, 46, null, null, 0, 1);
272 c$47_getName = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "getName", false, false, funcTable, 47, null, null, 0, 1);
273 c$48_setName = Py.newCode(2, new String[] {"self", "name"}, "/usr/share/jython/Lib-cpython/threading.py", "setName", false, false, funcTable, 48, null, null, 0, 1);
274 c$49_isAlive = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "isAlive", false, false, funcTable, 49, null, null, 0, 1);
275 c$50_isDaemon = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "isDaemon", false, false, funcTable, 50, null, null, 0, 1);
276 c$51_setDaemon = Py.newCode(2, new String[] {"self", "daemonic"}, "/usr/share/jython/Lib-cpython/threading.py", "setDaemon", false, false, funcTable, 51, null, null, 0, 1);
277 c$52_Thread = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "Thread", false, false, funcTable, 52, null, null, 0, 0);
278 c$53___init__ = Py.newCode(1, new String[] {"self", "atexit"}, "/usr/share/jython/Lib-cpython/threading.py", "__init__", false, false, funcTable, 53, null, null, 0, 1);
279 c$54__set_daemon = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "_set_daemon", false, false, funcTable, 54, null, null, 0, 1);
280 c$55___MainThread__exitfunc = Py.newCode(1, new String[] {"self", "t"}, "/usr/share/jython/Lib-cpython/threading.py", "__MainThread__exitfunc", false, false, funcTable, 55, null, null, 0, 1);
281 c$56__MainThread = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "_MainThread", false, false, funcTable, 56, null, null, 0, 0);
282 c$57__pickSomeNonDaemonThread = Py.newCode(0, new String[] {"t"}, "/usr/share/jython/Lib-cpython/threading.py", "_pickSomeNonDaemonThread", false, false, funcTable, 57, null, null, 0, 1);
283 c$58___init__ = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "__init__", false, false, funcTable, 58, null, null, 0, 1);
284 c$59__set_daemon = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "_set_daemon", false, false, funcTable, 59, null, null, 0, 1);
285 c$60_join = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "join", false, false, funcTable, 60, null, null, 0, 1);
286 c$61__DummyThread = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "_DummyThread", false, false, funcTable, 61, null, null, 0, 0);
287 c$62_currentThread = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "currentThread", false, false, funcTable, 62, null, null, 0, 1);
288 c$63_activeCount = Py.newCode(0, new String[] {"count"}, "/usr/share/jython/Lib-cpython/threading.py", "activeCount", false, false, funcTable, 63, null, null, 0, 1);
289 c$64_enumerate = Py.newCode(0, new String[] {"active"}, "/usr/share/jython/Lib-cpython/threading.py", "enumerate", false, false, funcTable, 64, null, null, 0, 1);
290 c$65___init__ = Py.newCode(2, new String[] {"self", "limit"}, "/usr/share/jython/Lib-cpython/threading.py", "__init__", false, false, funcTable, 65, null, null, 0, 1);
291 c$66_put = Py.newCode(2, new String[] {"self", "item"}, "/usr/share/jython/Lib-cpython/threading.py", "put", false, false, funcTable, 66, null, null, 0, 1);
292 c$67_get = Py.newCode(1, new String[] {"self", "item"}, "/usr/share/jython/Lib-cpython/threading.py", "get", false, false, funcTable, 67, null, null, 0, 1);
293 c$68_BoundedQueue = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "BoundedQueue", false, false, funcTable, 68, null, null, 0, 0);
294 c$69___init__ = Py.newCode(3, new String[] {"self", "queue", "quota"}, "/usr/share/jython/Lib-cpython/threading.py", "__init__", false, false, funcTable, 69, null, null, 0, 1);
295 c$70_run = Py.newCode(1, new String[] {"self", "counter", "random"}, "/usr/share/jython/Lib-cpython/threading.py", "run", false, false, funcTable, 70, null, null, 0, 1);
296 c$71_ProducerThread = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "ProducerThread", false, false, funcTable, 71, null, null, 0, 0);
297 c$72___init__ = Py.newCode(3, new String[] {"self", "queue", "count"}, "/usr/share/jython/Lib-cpython/threading.py", "__init__", false, false, funcTable, 72, null, null, 0, 1);
298 c$73_run = Py.newCode(1, new String[] {"self", "item"}, "/usr/share/jython/Lib-cpython/threading.py", "run", false, false, funcTable, 73, null, null, 0, 1);
299 c$74_ConsumerThread = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "ConsumerThread", false, false, funcTable, 74, null, null, 0, 0);
300 c$75__test = Py.newCode(0, new String[] {"random", "Q", "P", "time", "ProducerThread", "t", "C", "BoundedQueue", "ConsumerThread", "i", "NP", "QL", "NI"}, "/usr/share/jython/Lib-cpython/threading.py", "_test", false, false, funcTable, 75, null, null, 0, 1);
301 c$76_main = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "main", false, false, funcTable, 76, null, null, 0, 0);
305 public PyCode getMain() {
306 if (c$76_main == null) _PyInner.initConstants();
310 public PyObject call_function(int index, PyFrame frame) {
313 return _PyInner.__init__$1(frame);
315 return _PyInner._note$2(frame);
317 return _PyInner._Verbose$3(frame);
319 return _PyInner.__init__$4(frame);
321 return _PyInner._note$5(frame);
323 return _PyInner._Verbose$6(frame);
325 return _PyInner.RLock$7(frame);
327 return _PyInner.__init__$8(frame);
329 return _PyInner.__repr__$9(frame);
331 return _PyInner.acquire$10(frame);
333 return _PyInner.release$11(frame);
335 return _PyInner._acquire_restore$12(frame);
337 return _PyInner._release_save$13(frame);
339 return _PyInner._is_owned$14(frame);
341 return _PyInner._RLock$15(frame);
343 return _PyInner.Condition$16(frame);
345 return _PyInner.__init__$17(frame);
347 return _PyInner.__repr__$18(frame);
349 return _PyInner._release_save$19(frame);
351 return _PyInner._acquire_restore$20(frame);
353 return _PyInner._is_owned$21(frame);
355 return _PyInner.wait$22(frame);
357 return _PyInner.notify$23(frame);
359 return _PyInner.notifyAll$24(frame);
361 return _PyInner._Condition$25(frame);
363 return _PyInner.Semaphore$26(frame);
365 return _PyInner.__init__$27(frame);
367 return _PyInner.acquire$28(frame);
369 return _PyInner.release$29(frame);
371 return _PyInner._Semaphore$30(frame);
373 return _PyInner.Event$31(frame);
375 return _PyInner.__init__$32(frame);
377 return _PyInner.isSet$33(frame);
379 return _PyInner.set$34(frame);
381 return _PyInner.clear$35(frame);
383 return _PyInner.wait$36(frame);
385 return _PyInner._Event$37(frame);
387 return _PyInner._newname$38(frame);
389 return _PyInner.__init__$39(frame);
391 return _PyInner._set_daemon$40(frame);
393 return _PyInner.__repr__$41(frame);
395 return _PyInner.start$42(frame);
397 return _PyInner.run$43(frame);
399 return _PyInner._Thread__bootstrap$44(frame);
401 return _PyInner._Thread__stop$45(frame);
403 return _PyInner._Thread__delete$46(frame);
405 return _PyInner.join$47(frame);
407 return _PyInner.getName$48(frame);
409 return _PyInner.setName$49(frame);
411 return _PyInner.isAlive$50(frame);
413 return _PyInner.isDaemon$51(frame);
415 return _PyInner.setDaemon$52(frame);
417 return _PyInner.Thread$53(frame);
419 return _PyInner.__init__$54(frame);
421 return _PyInner._set_daemon$55(frame);
423 return _PyInner.__MainThread__exitfunc$56(frame);
425 return _PyInner._MainThread$57(frame);
427 return _PyInner._pickSomeNonDaemonThread$58(frame);
429 return _PyInner.__init__$59(frame);
431 return _PyInner._set_daemon$60(frame);
433 return _PyInner.join$61(frame);
435 return _PyInner._DummyThread$62(frame);
437 return _PyInner.currentThread$63(frame);
439 return _PyInner.activeCount$64(frame);
441 return _PyInner.enumerate$65(frame);
443 return _PyInner.__init__$66(frame);
445 return _PyInner.put$67(frame);
447 return _PyInner.get$68(frame);
449 return _PyInner.BoundedQueue$69(frame);
451 return _PyInner.__init__$70(frame);
453 return _PyInner.run$71(frame);
455 return _PyInner.ProducerThread$72(frame);
457 return _PyInner.__init__$73(frame);
459 return _PyInner.run$74(frame);
461 return _PyInner.ConsumerThread$75(frame);
463 return _PyInner._test$76(frame);
465 return _PyInner.main$77(frame);
471 private static PyObject __init__$1(PyFrame frame) {
472 if (frame.getlocal(1)._is(frame.getglobal("None")).__nonzero__()) {
473 frame.setlocal(1, frame.getglobal("_VERBOSE"));
475 frame.getlocal(0).__setattr__("__Verbose__verbose", frame.getlocal(1));
479 private static PyObject _note$2(PyFrame frame) {
480 if (frame.getlocal(0).__getattr__("__Verbose__verbose").__nonzero__()) {
481 frame.setlocal(1, frame.getlocal(1)._mod(frame.getlocal(2)));
482 frame.setlocal(1, s$2._mod(new PyTuple(new PyObject[] {frame.getglobal("currentThread").__call__().invoke("getName"), frame.getlocal(1)})));
483 frame.getglobal("_sys").__getattr__("stderr").__getattr__("write").__call__(frame.getlocal(1));
488 private static PyObject _Verbose$3(PyFrame frame) {
489 frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$0___init__));
490 frame.setlocal("_note", new PyFunction(frame.f_globals, new PyObject[] {}, c$1__note));
491 return frame.getf_locals();
494 private static PyObject __init__$4(PyFrame frame) {
499 private static PyObject _note$5(PyFrame frame) {
504 private static PyObject _Verbose$6(PyFrame frame) {
505 frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$3___init__));
506 frame.setlocal("_note", new PyFunction(frame.f_globals, new PyObject[] {}, c$4__note));
507 return frame.getf_locals();
510 private static PyObject RLock$7(PyFrame frame) {
511 return frame.getglobal("apply").__call__(frame.getglobal("_RLock"), frame.getlocal(0), frame.getlocal(1));
514 private static PyObject __init__$8(PyFrame frame) {
515 frame.getglobal("_Verbose").invoke("__init__", frame.getlocal(0), frame.getlocal(1));
516 frame.getlocal(0).__setattr__("__RLock__block", frame.getglobal("_allocate_lock").__call__());
517 frame.getlocal(0).__setattr__("__RLock__owner", frame.getglobal("None"));
518 frame.getlocal(0).__setattr__("__RLock__count", i$1);
522 private static PyObject __repr__$9(PyFrame frame) {
523 // Temporary Variables
524 PyObject t$0$PyObject;
527 return s$3._mod(new PyTuple(new PyObject[] {frame.getlocal(0).__getattr__("__class__").__getattr__("__name__"), (t$0$PyObject = frame.getlocal(0).__getattr__("__RLock__owner")).__nonzero__() ? frame.getlocal(0).__getattr__("__RLock__owner").invoke("getName") : t$0$PyObject, frame.getlocal(0).__getattr__("__RLock__count")}));
530 private static PyObject acquire$10(PyFrame frame) {
531 frame.setlocal(2, frame.getglobal("currentThread").__call__());
532 if (frame.getlocal(0).__getattr__("__RLock__owner")._is(frame.getlocal(2)).__nonzero__()) {
533 frame.getlocal(0).__setattr__("__RLock__count", frame.getlocal(0).__getattr__("__RLock__count")._add(i$4));
534 if (frame.getglobal("__debug__").__nonzero__()) {
535 frame.getlocal(0).invoke("_note", new PyObject[] {s$5, frame.getlocal(0), frame.getlocal(1)});
539 frame.setlocal(3, frame.getlocal(0).__getattr__("__RLock__block").invoke("acquire", frame.getlocal(1)));
540 if (frame.getlocal(3).__nonzero__()) {
541 frame.getlocal(0).__setattr__("__RLock__owner", frame.getlocal(2));
542 frame.getlocal(0).__setattr__("__RLock__count", i$4);
543 if (frame.getglobal("__debug__").__nonzero__()) {
544 frame.getlocal(0).invoke("_note", new PyObject[] {s$6, frame.getlocal(0), frame.getlocal(1)});
548 if (frame.getglobal("__debug__").__nonzero__()) {
549 frame.getlocal(0).invoke("_note", new PyObject[] {s$7, frame.getlocal(0), frame.getlocal(1)});
552 return frame.getlocal(3);
555 private static PyObject release$11(PyFrame frame) {
556 // Temporary Variables
557 PyObject t$0$PyObject;
560 frame.setlocal(2, frame.getglobal("currentThread").__call__());
561 if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("__RLock__owner")._is(frame.getlocal(2)), s$8);
562 t$0$PyObject = frame.getlocal(0).__getattr__("__RLock__count")._sub(i$4);
563 frame.getlocal(0).__setattr__("__RLock__count", t$0$PyObject);
564 frame.setlocal(1, t$0$PyObject);
565 if (frame.getlocal(1).__not__().__nonzero__()) {
566 frame.getlocal(0).__setattr__("__RLock__owner", frame.getglobal("None"));
567 frame.getlocal(0).__getattr__("__RLock__block").invoke("release");
568 if (frame.getglobal("__debug__").__nonzero__()) {
569 frame.getlocal(0).invoke("_note", s$9, frame.getlocal(0));
573 if (frame.getglobal("__debug__").__nonzero__()) {
574 frame.getlocal(0).invoke("_note", s$10, frame.getlocal(0));
580 private static PyObject _acquire_restore$12(PyFrame frame) {
581 // Temporary Variables
582 PyObject[] t$0$PyObject__;
585 t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(1), 2);
586 frame.setlocal(3, t$0$PyObject__[0]);
587 frame.setlocal(2, t$0$PyObject__[1]);
588 frame.getlocal(0).__getattr__("__RLock__block").invoke("acquire");
589 frame.getlocal(0).__setattr__("__RLock__count", frame.getlocal(3));
590 frame.getlocal(0).__setattr__("__RLock__owner", frame.getlocal(2));
591 if (frame.getglobal("__debug__").__nonzero__()) {
592 frame.getlocal(0).invoke("_note", s$11, frame.getlocal(0));
597 private static PyObject _release_save$13(PyFrame frame) {
598 if (frame.getglobal("__debug__").__nonzero__()) {
599 frame.getlocal(0).invoke("_note", s$12, frame.getlocal(0));
601 frame.setlocal(2, frame.getlocal(0).__getattr__("__RLock__count"));
602 frame.getlocal(0).__setattr__("__RLock__count", i$1);
603 frame.setlocal(1, frame.getlocal(0).__getattr__("__RLock__owner"));
604 frame.getlocal(0).__setattr__("__RLock__owner", frame.getglobal("None"));
605 frame.getlocal(0).__getattr__("__RLock__block").invoke("release");
606 return new PyTuple(new PyObject[] {frame.getlocal(2), frame.getlocal(1)});
609 private static PyObject _is_owned$14(PyFrame frame) {
610 return frame.getlocal(0).__getattr__("__RLock__owner")._is(frame.getglobal("currentThread").__call__());
613 private static PyObject _RLock$15(PyFrame frame) {
614 frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$7___init__));
615 frame.setlocal("__repr__", new PyFunction(frame.f_globals, new PyObject[] {}, c$8___repr__));
616 frame.setlocal("acquire", new PyFunction(frame.f_globals, new PyObject[] {i$4}, c$9_acquire));
617 frame.setlocal("release", new PyFunction(frame.f_globals, new PyObject[] {}, c$10_release));
618 frame.setlocal("_acquire_restore", new PyFunction(frame.f_globals, new PyObject[] {}, c$11__acquire_restore));
619 frame.setlocal("_release_save", new PyFunction(frame.f_globals, new PyObject[] {}, c$12__release_save));
620 frame.setlocal("_is_owned", new PyFunction(frame.f_globals, new PyObject[] {}, c$13__is_owned));
621 return frame.getf_locals();
624 private static PyObject Condition$16(PyFrame frame) {
625 return frame.getglobal("apply").__call__(frame.getglobal("_Condition"), frame.getlocal(0), frame.getlocal(1));
628 private static PyObject __init__$17(PyFrame frame) {
629 // Temporary Variables
630 PyException t$0$PyException;
633 frame.getglobal("_Verbose").invoke("__init__", frame.getlocal(0), frame.getlocal(2));
634 if (frame.getlocal(1)._is(frame.getglobal("None")).__nonzero__()) {
635 frame.setlocal(1, frame.getglobal("RLock").__call__());
637 frame.getlocal(0).__setattr__("__Condition__lock", frame.getlocal(1));
638 frame.getlocal(0).__setattr__("acquire", frame.getlocal(1).__getattr__("acquire"));
639 frame.getlocal(0).__setattr__("release", frame.getlocal(1).__getattr__("release"));
641 frame.getlocal(0).__setattr__("_release_save", frame.getlocal(1).__getattr__("_release_save"));
643 catch (Throwable x$0) {
644 t$0$PyException = Py.setException(x$0, frame);
645 if (Py.matchException(t$0$PyException, frame.getglobal("AttributeError"))) {
648 else throw t$0$PyException;
651 frame.getlocal(0).__setattr__("_acquire_restore", frame.getlocal(1).__getattr__("_acquire_restore"));
653 catch (Throwable x$1) {
654 t$0$PyException = Py.setException(x$1, frame);
655 if (Py.matchException(t$0$PyException, frame.getglobal("AttributeError"))) {
658 else throw t$0$PyException;
661 frame.getlocal(0).__setattr__("_is_owned", frame.getlocal(1).__getattr__("_is_owned"));
663 catch (Throwable x$2) {
664 t$0$PyException = Py.setException(x$2, frame);
665 if (Py.matchException(t$0$PyException, frame.getglobal("AttributeError"))) {
668 else throw t$0$PyException;
670 frame.getlocal(0).__setattr__("__Condition__waiters", new PyList(new PyObject[] {}));
674 private static PyObject __repr__$18(PyFrame frame) {
675 return s$13._mod(new PyTuple(new PyObject[] {frame.getlocal(0).__getattr__("__Condition__lock"), frame.getglobal("len").__call__(frame.getlocal(0).__getattr__("__Condition__waiters"))}));
678 private static PyObject _release_save$19(PyFrame frame) {
679 frame.getlocal(0).__getattr__("__Condition__lock").invoke("release");
683 private static PyObject _acquire_restore$20(PyFrame frame) {
684 frame.getlocal(0).__getattr__("__Condition__lock").invoke("acquire");
688 private static PyObject _is_owned$21(PyFrame frame) {
689 if (frame.getlocal(0).__getattr__("__Condition__lock").invoke("acquire", i$1).__nonzero__()) {
690 frame.getlocal(0).__getattr__("__Condition__lock").invoke("release");
698 private static PyObject wait$22(PyFrame frame) {
699 // Temporary Variables
700 PyException t$0$PyException;
701 PyObject t$0$PyObject;
704 frame.setlocal(5, frame.getglobal("currentThread").__call__());
705 if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).invoke("_is_owned"), s$14);
706 frame.setlocal(7, frame.getglobal("_allocate_lock").__call__());
707 frame.getlocal(7).invoke("acquire");
708 frame.getlocal(0).__getattr__("__Condition__waiters").invoke("append", frame.getlocal(7));
709 frame.setlocal(3, frame.getlocal(0).invoke("_release_save"));
711 if (frame.getlocal(1)._is(frame.getglobal("None")).__nonzero__()) {
712 frame.getlocal(7).invoke("acquire");
713 if (frame.getglobal("__debug__").__nonzero__()) {
714 frame.getlocal(0).invoke("_note", s$15, frame.getlocal(0));
718 frame.setlocal(2, frame.getglobal("_time").__call__()._add(frame.getlocal(1)));
719 frame.setlocal(4, f$16);
720 while (i$4.__nonzero__()) {
721 frame.setlocal(6, frame.getlocal(7).invoke("acquire", i$1));
722 if (((t$0$PyObject = frame.getlocal(6)).__nonzero__() ? t$0$PyObject : frame.getglobal("_time").__call__()._ge(frame.getlocal(2))).__nonzero__()) {
725 frame.getglobal("_sleep").__call__(frame.getlocal(4));
726 if (frame.getlocal(4)._lt(f$17).__nonzero__()) {
727 frame.setlocal(4, frame.getlocal(4)._mul(f$18));
730 if (frame.getlocal(6).__not__().__nonzero__()) {
731 if (frame.getglobal("__debug__").__nonzero__()) {
732 frame.getlocal(0).invoke("_note", new PyObject[] {s$19, frame.getlocal(0), frame.getlocal(1)});
735 frame.getlocal(0).__getattr__("__Condition__waiters").invoke("remove", frame.getlocal(7));
737 catch (Throwable x$0) {
738 t$0$PyException = Py.setException(x$0, frame);
739 if (Py.matchException(t$0$PyException, frame.getglobal("ValueError"))) {
742 else throw t$0$PyException;
746 if (frame.getglobal("__debug__").__nonzero__()) {
747 frame.getlocal(0).invoke("_note", new PyObject[] {s$20, frame.getlocal(0), frame.getlocal(1)});
753 frame.getlocal(0).invoke("_acquire_restore", frame.getlocal(3));
758 private static PyObject notify$23(PyFrame frame) {
759 // Temporary Variables
761 PyException t$0$PyException;
762 PyObject t$0$PyObject, t$1$PyObject;
765 frame.setlocal(4, frame.getglobal("currentThread").__call__());
766 if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).invoke("_is_owned"), s$21);
767 frame.setlocal(2, frame.getlocal(0).__getattr__("__Condition__waiters"));
768 frame.setlocal(3, frame.getlocal(2).__getslice__(null, frame.getlocal(1), null));
769 if (frame.getlocal(3).__not__().__nonzero__()) {
770 if (frame.getglobal("__debug__").__nonzero__()) {
771 frame.getlocal(0).invoke("_note", s$22, frame.getlocal(0));
775 frame.getlocal(0).invoke("_note", new PyObject[] {s$23, frame.getlocal(0), frame.getlocal(1), (t$0$PyObject = ((t$1$PyObject = frame.getlocal(1)._ne(i$4)).__nonzero__() ? s$24 : t$1$PyObject)).__nonzero__() ? t$0$PyObject : s$25});
777 t$1$PyObject = frame.getlocal(3);
778 while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) {
779 frame.setlocal(5, t$0$PyObject);
780 frame.getlocal(5).invoke("release");
782 frame.getlocal(2).invoke("remove", frame.getlocal(5));
784 catch (Throwable x$0) {
785 t$0$PyException = Py.setException(x$0, frame);
786 if (Py.matchException(t$0$PyException, frame.getglobal("ValueError"))) {
789 else throw t$0$PyException;
795 private static PyObject notifyAll$24(PyFrame frame) {
796 frame.getlocal(0).invoke("notify", frame.getglobal("len").__call__(frame.getlocal(0).__getattr__("__Condition__waiters")));
800 private static PyObject _Condition$25(PyFrame frame) {
801 frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None"), frame.getname("None")}, c$16___init__));
802 frame.setlocal("__repr__", new PyFunction(frame.f_globals, new PyObject[] {}, c$17___repr__));
803 frame.setlocal("_release_save", new PyFunction(frame.f_globals, new PyObject[] {}, c$18__release_save));
804 frame.setlocal("_acquire_restore", new PyFunction(frame.f_globals, new PyObject[] {}, c$19__acquire_restore));
805 frame.setlocal("_is_owned", new PyFunction(frame.f_globals, new PyObject[] {}, c$20__is_owned));
806 frame.setlocal("wait", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$21_wait));
807 frame.setlocal("notify", new PyFunction(frame.f_globals, new PyObject[] {i$4}, c$22_notify));
808 frame.setlocal("notifyAll", new PyFunction(frame.f_globals, new PyObject[] {}, c$23_notifyAll));
809 return frame.getf_locals();
812 private static PyObject Semaphore$26(PyFrame frame) {
813 return frame.getglobal("apply").__call__(frame.getglobal("_Semaphore"), frame.getlocal(0), frame.getlocal(1));
816 private static PyObject __init__$27(PyFrame frame) {
817 if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(1)._ge(i$1), s$26);
818 frame.getglobal("_Verbose").invoke("__init__", frame.getlocal(0), frame.getlocal(2));
819 frame.getlocal(0).__setattr__("__Semaphore__cond", frame.getglobal("Condition").__call__(frame.getglobal("Lock").__call__()));
820 frame.getlocal(0).__setattr__("__Semaphore__value", frame.getlocal(1));
824 private static PyObject acquire$28(PyFrame frame) {
825 // Temporary Variables
829 frame.setlocal(2, i$1);
830 frame.getlocal(0).__getattr__("__Semaphore__cond").invoke("acquire");
831 while (t$0$boolean=frame.getlocal(0).__getattr__("__Semaphore__value")._eq(i$1).__nonzero__()) {
832 if (frame.getlocal(1).__not__().__nonzero__()) {
835 frame.getlocal(0).__getattr__("__Semaphore__cond").invoke("wait");
838 frame.getlocal(0).__setattr__("__Semaphore__value", frame.getlocal(0).__getattr__("__Semaphore__value")._sub(i$4));
839 frame.setlocal(2, i$4);
841 frame.getlocal(0).__getattr__("__Semaphore__cond").invoke("release");
842 return frame.getlocal(2);
845 private static PyObject release$29(PyFrame frame) {
846 frame.getlocal(0).__getattr__("__Semaphore__cond").invoke("acquire");
847 frame.getlocal(0).__setattr__("__Semaphore__value", frame.getlocal(0).__getattr__("__Semaphore__value")._add(i$4));
848 frame.getlocal(0).__getattr__("__Semaphore__cond").invoke("notify");
849 frame.getlocal(0).__getattr__("__Semaphore__cond").invoke("release");
853 private static PyObject _Semaphore$30(PyFrame frame) {
854 frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {i$4, frame.getname("None")}, c$26___init__));
855 frame.setlocal("acquire", new PyFunction(frame.f_globals, new PyObject[] {i$4}, c$27_acquire));
856 frame.setlocal("release", new PyFunction(frame.f_globals, new PyObject[] {}, c$28_release));
857 return frame.getf_locals();
860 private static PyObject Event$31(PyFrame frame) {
861 return frame.getglobal("apply").__call__(frame.getglobal("_Event"), frame.getlocal(0), frame.getlocal(1));
864 private static PyObject __init__$32(PyFrame frame) {
865 frame.getglobal("_Verbose").invoke("__init__", frame.getlocal(0), frame.getlocal(1));
866 frame.getlocal(0).__setattr__("__Event__cond", frame.getglobal("Condition").__call__(frame.getglobal("Lock").__call__()));
867 frame.getlocal(0).__setattr__("__Event__flag", i$1);
871 private static PyObject isSet$33(PyFrame frame) {
872 return frame.getlocal(0).__getattr__("__Event__flag");
875 private static PyObject set$34(PyFrame frame) {
876 frame.getlocal(0).__getattr__("__Event__cond").invoke("acquire");
877 frame.getlocal(0).__setattr__("__Event__flag", i$4);
878 frame.getlocal(0).__getattr__("__Event__cond").invoke("notifyAll");
879 frame.getlocal(0).__getattr__("__Event__cond").invoke("release");
883 private static PyObject clear$35(PyFrame frame) {
884 frame.getlocal(0).__getattr__("__Event__cond").invoke("acquire");
885 frame.getlocal(0).__setattr__("__Event__flag", i$1);
886 frame.getlocal(0).__getattr__("__Event__cond").invoke("release");
890 private static PyObject wait$36(PyFrame frame) {
891 frame.getlocal(0).__getattr__("__Event__cond").invoke("acquire");
892 if (frame.getlocal(0).__getattr__("__Event__flag").__not__().__nonzero__()) {
893 frame.getlocal(0).__getattr__("__Event__cond").invoke("wait", frame.getlocal(1));
895 frame.getlocal(0).__getattr__("__Event__cond").invoke("release");
899 private static PyObject _Event$37(PyFrame frame) {
900 frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$31___init__));
901 frame.setlocal("isSet", new PyFunction(frame.f_globals, new PyObject[] {}, c$32_isSet));
902 frame.setlocal("set", new PyFunction(frame.f_globals, new PyObject[] {}, c$33_set));
903 frame.setlocal("clear", new PyFunction(frame.f_globals, new PyObject[] {}, c$34_clear));
904 frame.setlocal("wait", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$35_wait));
905 return frame.getf_locals();
908 private static PyObject _newname$38(PyFrame frame) {
910 frame.setglobal("_counter", frame.getglobal("_counter")._add(i$4));
911 return frame.getlocal(0)._mod(frame.getglobal("_counter"));
914 private static PyObject __init__$39(PyFrame frame) {
915 // Temporary Variables
916 PyObject t$0$PyObject;
919 if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(1)._is(frame.getglobal("None")), s$28);
920 frame.getglobal("_Verbose").invoke("__init__", frame.getlocal(0), frame.getlocal(6));
921 frame.getlocal(0).__setattr__("_Thread__target", frame.getlocal(2));
922 frame.getlocal(0).__setattr__("_Thread__name", frame.getglobal("str").__call__((t$0$PyObject = frame.getlocal(3)).__nonzero__() ? t$0$PyObject : frame.getglobal("_newname").__call__()));
923 frame.getlocal(0).__setattr__("_Thread__args", frame.getlocal(4));
924 frame.getlocal(0).__setattr__("_Thread__kwargs", frame.getlocal(5));
925 frame.getlocal(0).__setattr__("_Thread__daemonic", frame.getlocal(0).invoke("_set_daemon"));
926 frame.getlocal(0).__setattr__("_Thread__started", i$1);
927 frame.getlocal(0).__setattr__("_Thread__stopped", i$1);
928 frame.getlocal(0).__setattr__("_Thread__block", frame.getglobal("Condition").__call__(frame.getglobal("Lock").__call__()));
929 frame.getlocal(0).__setattr__("_Thread__initialized", i$4);
933 private static PyObject _set_daemon$40(PyFrame frame) {
934 return frame.getglobal("currentThread").__call__().invoke("isDaemon");
937 private static PyObject __repr__$41(PyFrame frame) {
938 if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("_Thread__initialized"), s$29);
939 frame.setlocal(1, s$30);
940 if (frame.getlocal(0).__getattr__("_Thread__started").__nonzero__()) {
941 frame.setlocal(1, s$31);
943 if (frame.getlocal(0).__getattr__("_Thread__stopped").__nonzero__()) {
944 frame.setlocal(1, s$32);
946 if (frame.getlocal(0).__getattr__("_Thread__daemonic").__nonzero__()) {
947 frame.setlocal(1, frame.getlocal(1)._add(s$33));
949 return s$34._mod(new PyTuple(new PyObject[] {frame.getlocal(0).__getattr__("__class__").__getattr__("__name__"), frame.getlocal(0).__getattr__("_Thread__name"), frame.getlocal(1)}));
952 private static PyObject start$42(PyFrame frame) {
953 if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("_Thread__initialized"), s$35);
954 if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("_Thread__started").__not__(), s$36);
955 if (frame.getglobal("__debug__").__nonzero__()) {
956 frame.getlocal(0).invoke("_note", s$37, frame.getlocal(0));
958 frame.getglobal("_active_limbo_lock").invoke("acquire");
959 frame.getglobal("_limbo").__setitem__(frame.getlocal(0), frame.getlocal(0));
960 frame.getglobal("_active_limbo_lock").invoke("release");
961 frame.getglobal("_start_new_thread").__call__(frame.getlocal(0).__getattr__("_Thread__bootstrap"), new PyTuple(new PyObject[] {}));
962 frame.getlocal(0).__setattr__("_Thread__started", i$4);
963 frame.getglobal("_sleep").__call__(f$16);
967 private static PyObject run$43(PyFrame frame) {
968 if (frame.getlocal(0).__getattr__("_Thread__target").__nonzero__()) {
969 frame.getglobal("apply").__call__(frame.getlocal(0).__getattr__("_Thread__target"), frame.getlocal(0).__getattr__("_Thread__args"), frame.getlocal(0).__getattr__("_Thread__kwargs"));
974 private static PyObject _Thread__bootstrap$44(PyFrame frame) {
975 // Temporary Variables
977 PyException t$0$PyException;
981 frame.getlocal(0).__setattr__("_Thread__started", i$4);
982 frame.getglobal("_active_limbo_lock").invoke("acquire");
983 frame.getglobal("_active").__setitem__(frame.getglobal("_get_ident").__call__(), frame.getlocal(0));
984 frame.getglobal("_limbo").__delitem__(frame.getlocal(0));
985 frame.getglobal("_active_limbo_lock").invoke("release");
986 if (frame.getglobal("__debug__").__nonzero__()) {
987 frame.getlocal(0).invoke("_note", s$38, frame.getlocal(0));
991 frame.getlocal(0).invoke("run");
993 catch (Throwable x$0) {
995 t$0$PyException = Py.setException(x$0, frame);
996 if (Py.matchException(t$0$PyException, frame.getglobal("SystemExit"))) {
997 if (frame.getglobal("__debug__").__nonzero__()) {
998 frame.getlocal(0).invoke("_note", s$39, frame.getlocal(0));
1002 if (frame.getglobal("__debug__").__nonzero__()) {
1003 frame.getlocal(0).invoke("_note", s$40, frame.getlocal(0));
1005 frame.setlocal(1, frame.getglobal("_StringIO").__call__());
1006 frame.getglobal("_print_exc").__call__(new PyObject[] {frame.getlocal(1)}, new String[] {"file"});
1007 frame.getglobal("_sys").__getattr__("stderr").__getattr__("write").__call__(s$41._mod(new PyTuple(new PyObject[] {frame.getlocal(0).invoke("getName"), frame.getlocal(1).invoke("getvalue")})));
1011 if (frame.getglobal("__debug__").__nonzero__()) {
1012 frame.getlocal(0).invoke("_note", s$42, frame.getlocal(0));
1017 frame.getlocal(0).invoke("_Thread__stop");
1019 frame.getlocal(0).invoke("_Thread__delete");
1021 catch (Throwable x$1) {
1022 t$0$PyException = Py.setException(x$1, frame);
1029 private static PyObject _Thread__stop$45(PyFrame frame) {
1030 frame.getlocal(0).__getattr__("_Thread__block").invoke("acquire");
1031 frame.getlocal(0).__setattr__("_Thread__stopped", i$4);
1032 frame.getlocal(0).__getattr__("_Thread__block").invoke("notifyAll");
1033 frame.getlocal(0).__getattr__("_Thread__block").invoke("release");
1037 private static PyObject _Thread__delete$46(PyFrame frame) {
1038 frame.getglobal("_active_limbo_lock").invoke("acquire");
1039 frame.getglobal("_active").__delitem__(frame.getglobal("_get_ident").__call__());
1040 frame.getglobal("_active_limbo_lock").invoke("release");
1044 private static PyObject join$47(PyFrame frame) {
1045 // Temporary Variables
1046 boolean t$0$boolean;
1049 if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("_Thread__initialized"), s$35);
1050 if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("_Thread__started"), s$43);
1051 if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0)._isnot(frame.getglobal("currentThread").__call__()), s$44);
1052 if (frame.getglobal("__debug__").__nonzero__()) {
1053 if (frame.getlocal(0).__getattr__("_Thread__stopped").__not__().__nonzero__()) {
1054 frame.getlocal(0).invoke("_note", s$45, frame.getlocal(0));
1057 frame.getlocal(0).__getattr__("_Thread__block").invoke("acquire");
1058 if (frame.getlocal(1)._is(frame.getglobal("None")).__nonzero__()) {
1059 while (frame.getlocal(0).__getattr__("_Thread__stopped").__not__().__nonzero__()) {
1060 frame.getlocal(0).__getattr__("_Thread__block").invoke("wait");
1062 if (frame.getglobal("__debug__").__nonzero__()) {
1063 frame.getlocal(0).invoke("_note", s$46, frame.getlocal(0));
1067 frame.setlocal(3, frame.getglobal("_time").__call__()._add(frame.getlocal(1)));
1068 while (t$0$boolean=frame.getlocal(0).__getattr__("_Thread__stopped").__not__().__nonzero__()) {
1069 frame.setlocal(2, frame.getlocal(3)._sub(frame.getglobal("_time").__call__()));
1070 if (frame.getlocal(2)._le(i$1).__nonzero__()) {
1071 if (frame.getglobal("__debug__").__nonzero__()) {
1072 frame.getlocal(0).invoke("_note", s$47, frame.getlocal(0));
1076 frame.getlocal(0).__getattr__("_Thread__block").invoke("wait", frame.getlocal(2));
1079 if (frame.getglobal("__debug__").__nonzero__()) {
1080 frame.getlocal(0).invoke("_note", s$46, frame.getlocal(0));
1084 frame.getlocal(0).__getattr__("_Thread__block").invoke("release");
1088 private static PyObject getName$48(PyFrame frame) {
1089 if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("_Thread__initialized"), s$35);
1090 return frame.getlocal(0).__getattr__("_Thread__name");
1093 private static PyObject setName$49(PyFrame frame) {
1094 if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("_Thread__initialized"), s$35);
1095 frame.getlocal(0).__setattr__("_Thread__name", frame.getglobal("str").__call__(frame.getlocal(1)));
1099 private static PyObject isAlive$50(PyFrame frame) {
1100 // Temporary Variables
1101 PyObject t$0$PyObject;
1104 if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("_Thread__initialized"), s$35);
1105 return (t$0$PyObject = frame.getlocal(0).__getattr__("_Thread__started")).__nonzero__() ? frame.getlocal(0).__getattr__("_Thread__stopped").__not__() : t$0$PyObject;
1108 private static PyObject isDaemon$51(PyFrame frame) {
1109 if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("_Thread__initialized"), s$35);
1110 return frame.getlocal(0).__getattr__("_Thread__daemonic");
1113 private static PyObject setDaemon$52(PyFrame frame) {
1114 if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("_Thread__initialized"), s$35);
1115 if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("_Thread__started").__not__(), s$48);
1116 frame.getlocal(0).__setattr__("_Thread__daemonic", frame.getlocal(1));
1120 private static PyObject Thread$53(PyFrame frame) {
1121 frame.setlocal("_Thread__initialized", i$1);
1122 frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None"), frame.getname("None"), frame.getname("None"), new PyTuple(new PyObject[] {}), new PyDictionary(new PyObject[] {}), frame.getname("None")}, c$38___init__));
1123 frame.setlocal("_set_daemon", new PyFunction(frame.f_globals, new PyObject[] {}, c$39__set_daemon));
1124 frame.setlocal("__repr__", new PyFunction(frame.f_globals, new PyObject[] {}, c$40___repr__));
1125 frame.setlocal("start", new PyFunction(frame.f_globals, new PyObject[] {}, c$41_start));
1126 frame.setlocal("run", new PyFunction(frame.f_globals, new PyObject[] {}, c$42_run));
1127 frame.setlocal("_Thread__bootstrap", new PyFunction(frame.f_globals, new PyObject[] {}, c$43__Thread__bootstrap));
1128 frame.setlocal("_Thread__stop", new PyFunction(frame.f_globals, new PyObject[] {}, c$44__Thread__stop));
1129 frame.setlocal("_Thread__delete", new PyFunction(frame.f_globals, new PyObject[] {}, c$45__Thread__delete));
1130 frame.setlocal("join", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$46_join));
1131 frame.setlocal("getName", new PyFunction(frame.f_globals, new PyObject[] {}, c$47_getName));
1132 frame.setlocal("setName", new PyFunction(frame.f_globals, new PyObject[] {}, c$48_setName));
1133 frame.setlocal("isAlive", new PyFunction(frame.f_globals, new PyObject[] {}, c$49_isAlive));
1134 frame.setlocal("isDaemon", new PyFunction(frame.f_globals, new PyObject[] {}, c$50_isDaemon));
1135 frame.setlocal("setDaemon", new PyFunction(frame.f_globals, new PyObject[] {}, c$51_setDaemon));
1136 return frame.getf_locals();
1139 private static PyObject __init__$54(PyFrame frame) {
1140 frame.getglobal("Thread").__getattr__("__init__").__call__(new PyObject[] {frame.getlocal(0), s$49}, new String[] {"name"});
1141 frame.getlocal(0).__setattr__("_Thread__started", i$4);
1142 frame.getglobal("_active_limbo_lock").invoke("acquire");
1143 frame.getglobal("_active").__setitem__(frame.getglobal("_get_ident").__call__(), frame.getlocal(0));
1144 frame.getglobal("_active_limbo_lock").invoke("release");
1145 frame.setlocal(1, org.python.core.imp.importOne("atexit", frame));
1146 frame.getlocal(1).__getattr__("register").__call__(frame.getlocal(0).__getattr__("__MainThread__exitfunc"));
1150 private static PyObject _set_daemon$55(PyFrame frame) {
1154 private static PyObject __MainThread__exitfunc$56(PyFrame frame) {
1155 frame.getlocal(0).invoke("_Thread__stop");
1156 frame.setlocal(1, frame.getglobal("_pickSomeNonDaemonThread").__call__());
1157 if (frame.getlocal(1).__nonzero__()) {
1158 if (frame.getglobal("__debug__").__nonzero__()) {
1159 frame.getlocal(0).invoke("_note", s$50, frame.getlocal(0));
1162 while (frame.getlocal(1).__nonzero__()) {
1163 frame.getlocal(1).invoke("join");
1164 frame.setlocal(1, frame.getglobal("_pickSomeNonDaemonThread").__call__());
1166 if (frame.getglobal("__debug__").__nonzero__()) {
1167 frame.getlocal(0).invoke("_note", s$51, frame.getlocal(0));
1169 frame.getlocal(0).invoke("_Thread__delete");
1173 private static PyObject _MainThread$57(PyFrame frame) {
1174 frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {}, c$53___init__));
1175 frame.setlocal("_set_daemon", new PyFunction(frame.f_globals, new PyObject[] {}, c$54__set_daemon));
1176 frame.setlocal("__MainThread__exitfunc", new PyFunction(frame.f_globals, new PyObject[] {}, c$55___MainThread__exitfunc));
1177 return frame.getf_locals();
1180 private static PyObject _pickSomeNonDaemonThread$58(PyFrame frame) {
1181 // Temporary Variables
1183 PyObject t$0$PyObject, t$1$PyObject, t$2$PyObject;
1187 t$1$PyObject = frame.getglobal("enumerate").__call__();
1188 while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) {
1189 frame.setlocal(0, t$0$PyObject);
1190 if (((t$2$PyObject = frame.getlocal(0).invoke("isDaemon").__not__()).__nonzero__() ? frame.getlocal(0).invoke("isAlive") : t$2$PyObject).__nonzero__()) {
1191 return frame.getlocal(0);
1194 return frame.getglobal("None");
1197 private static PyObject __init__$59(PyFrame frame) {
1198 frame.getglobal("Thread").__getattr__("__init__").__call__(new PyObject[] {frame.getlocal(0), frame.getglobal("_newname").__call__(s$52)}, new String[] {"name"});
1199 frame.getlocal(0).__setattr__("_Thread__started", i$4);
1200 frame.getglobal("_active_limbo_lock").invoke("acquire");
1201 frame.getglobal("_active").__setitem__(frame.getglobal("_get_ident").__call__(), frame.getlocal(0));
1202 frame.getglobal("_active_limbo_lock").invoke("release");
1206 private static PyObject _set_daemon$60(PyFrame frame) {
1210 private static PyObject join$61(PyFrame frame) {
1211 if (frame.getglobal("__debug__").__nonzero__()) Py.assert(i$1, s$53);
1215 private static PyObject _DummyThread$62(PyFrame frame) {
1216 frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {}, c$58___init__));
1217 frame.setlocal("_set_daemon", new PyFunction(frame.f_globals, new PyObject[] {}, c$59__set_daemon));
1218 frame.setlocal("join", new PyFunction(frame.f_globals, new PyObject[] {}, c$60_join));
1219 return frame.getf_locals();
1222 private static PyObject currentThread$63(PyFrame frame) {
1223 // Temporary Variables
1224 PyException t$0$PyException;
1228 return frame.getglobal("_active").__getitem__(frame.getglobal("_get_ident").__call__());
1230 catch (Throwable x$0) {
1231 t$0$PyException = Py.setException(x$0, frame);
1232 if (Py.matchException(t$0$PyException, frame.getglobal("KeyError"))) {
1233 return frame.getglobal("_DummyThread").__call__();
1235 else throw t$0$PyException;
1239 private static PyObject activeCount$64(PyFrame frame) {
1240 frame.getglobal("_active_limbo_lock").invoke("acquire");
1241 frame.setlocal(0, frame.getglobal("len").__call__(frame.getglobal("_active"))._add(frame.getglobal("len").__call__(frame.getglobal("_limbo"))));
1242 frame.getglobal("_active_limbo_lock").invoke("release");
1243 return frame.getlocal(0);
1246 private static PyObject enumerate$65(PyFrame frame) {
1247 frame.getglobal("_active_limbo_lock").invoke("acquire");
1248 frame.setlocal(0, frame.getglobal("_active").invoke("values")._add(frame.getglobal("_limbo").invoke("values")));
1249 frame.getglobal("_active_limbo_lock").invoke("release");
1250 return frame.getlocal(0);
1253 private static PyObject __init__$66(PyFrame frame) {
1254 frame.getglobal("_Verbose").invoke("__init__", frame.getlocal(0));
1255 frame.getlocal(0).__setattr__("mon", frame.getglobal("RLock").__call__());
1256 frame.getlocal(0).__setattr__("rc", frame.getglobal("Condition").__call__(frame.getlocal(0).__getattr__("mon")));
1257 frame.getlocal(0).__setattr__("wc", frame.getglobal("Condition").__call__(frame.getlocal(0).__getattr__("mon")));
1258 frame.getlocal(0).__setattr__("limit", frame.getlocal(1));
1259 frame.getlocal(0).__setattr__("queue", new PyList(new PyObject[] {}));
1263 private static PyObject put$67(PyFrame frame) {
1264 frame.getlocal(0).__getattr__("mon").invoke("acquire");
1265 while (frame.getglobal("len").__call__(frame.getlocal(0).__getattr__("queue"))._ge(frame.getlocal(0).__getattr__("limit")).__nonzero__()) {
1266 frame.getlocal(0).invoke("_note", s$54, frame.getlocal(1));
1267 frame.getlocal(0).__getattr__("wc").invoke("wait");
1269 frame.getlocal(0).__getattr__("queue").invoke("append", frame.getlocal(1));
1270 frame.getlocal(0).invoke("_note", new PyObject[] {s$55, frame.getlocal(1), frame.getglobal("len").__call__(frame.getlocal(0).__getattr__("queue"))});
1271 frame.getlocal(0).__getattr__("rc").invoke("notify");
1272 frame.getlocal(0).__getattr__("mon").invoke("release");
1276 private static PyObject get$68(PyFrame frame) {
1277 frame.getlocal(0).__getattr__("mon").invoke("acquire");
1278 while (frame.getlocal(0).__getattr__("queue").__not__().__nonzero__()) {
1279 frame.getlocal(0).invoke("_note", s$56);
1280 frame.getlocal(0).__getattr__("rc").invoke("wait");
1282 frame.setlocal(1, frame.getlocal(0).__getattr__("queue").__getitem__(i$1));
1283 frame.getlocal(0).__getattr__("queue").__delitem__(i$1);
1284 frame.getlocal(0).invoke("_note", new PyObject[] {s$57, frame.getlocal(1), frame.getglobal("len").__call__(frame.getlocal(0).__getattr__("queue"))});
1285 frame.getlocal(0).__getattr__("wc").invoke("notify");
1286 frame.getlocal(0).__getattr__("mon").invoke("release");
1287 return frame.getlocal(1);
1290 private static PyObject BoundedQueue$69(PyFrame frame) {
1291 frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {}, c$65___init__));
1292 frame.setlocal("put", new PyFunction(frame.f_globals, new PyObject[] {}, c$66_put));
1293 frame.setlocal("get", new PyFunction(frame.f_globals, new PyObject[] {}, c$67_get));
1294 return frame.getf_locals();
1297 private static PyObject __init__$70(PyFrame frame) {
1298 frame.getglobal("Thread").__getattr__("__init__").__call__(new PyObject[] {frame.getlocal(0), s$58}, new String[] {"name"});
1299 frame.getlocal(0).__setattr__("queue", frame.getlocal(1));
1300 frame.getlocal(0).__setattr__("quota", frame.getlocal(2));
1304 private static PyObject run$71(PyFrame frame) {
1305 PyObject[] imp_accu;
1307 imp_accu = org.python.core.imp.importFrom("random", new String[] {"random"}, frame);
1308 frame.setlocal(2, imp_accu[0]);
1310 frame.setlocal(1, i$1);
1311 while (frame.getlocal(1)._lt(frame.getlocal(0).__getattr__("quota")).__nonzero__()) {
1312 frame.setlocal(1, frame.getlocal(1)._add(i$4));
1313 frame.getlocal(0).__getattr__("queue").invoke("put", s$59._mod(new PyTuple(new PyObject[] {frame.getlocal(0).invoke("getName"), frame.getlocal(1)})));
1314 frame.getglobal("_sleep").__call__(frame.getlocal(2).__call__()._mul(f$60));
1319 private static PyObject ProducerThread$72(PyFrame frame) {
1320 frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {}, c$69___init__));
1321 frame.setlocal("run", new PyFunction(frame.f_globals, new PyObject[] {}, c$70_run));
1322 return frame.getf_locals();
1325 private static PyObject __init__$73(PyFrame frame) {
1326 frame.getglobal("Thread").__getattr__("__init__").__call__(new PyObject[] {frame.getlocal(0), s$61}, new String[] {"name"});
1327 frame.getlocal(0).__setattr__("queue", frame.getlocal(1));
1328 frame.getlocal(0).__setattr__("count", frame.getlocal(2));
1332 private static PyObject run$74(PyFrame frame) {
1333 while (frame.getlocal(0).__getattr__("count")._gt(i$1).__nonzero__()) {
1334 frame.setlocal(1, frame.getlocal(0).__getattr__("queue").invoke("get"));
1335 Py.println(frame.getlocal(1));
1336 frame.getlocal(0).__setattr__("count", frame.getlocal(0).__getattr__("count")._sub(i$4));
1341 private static PyObject ConsumerThread$75(PyFrame frame) {
1342 frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {}, c$72___init__));
1343 frame.setlocal("run", new PyFunction(frame.f_globals, new PyObject[] {}, c$73_run));
1344 return frame.getf_locals();
1347 private static PyObject _test$76(PyFrame frame) {
1348 // Temporary Variables
1349 int t$0$int, t$1$int, t$2$int;
1350 PyObject t$0$PyObject, t$1$PyObject, t$2$PyObject, t$3$PyObject, t$4$PyObject, t$5$PyObject;
1353 frame.setlocal(0, org.python.core.imp.importOne("random", frame));
1354 frame.setlocal(7, Py.makeClass("BoundedQueue", new PyObject[] {frame.getglobal("_Verbose")}, c$68_BoundedQueue, null));
1355 frame.setlocal(4, Py.makeClass("ProducerThread", new PyObject[] {frame.getglobal("Thread")}, c$71_ProducerThread, null));
1356 frame.setlocal(8, Py.makeClass("ConsumerThread", new PyObject[] {frame.getglobal("Thread")}, c$74_ConsumerThread, null));
1357 frame.setlocal(3, org.python.core.imp.importOne("time", frame));
1358 frame.setlocal(10, i$62);
1359 frame.setlocal(11, i$63);
1360 frame.setlocal(12, i$64);
1361 frame.setlocal(1, frame.getlocal(7).__call__(frame.getlocal(11)));
1362 frame.setlocal(2, new PyList(new PyObject[] {}));
1364 t$1$PyObject = frame.getglobal("range").__call__(frame.getlocal(10));
1365 while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) {
1366 frame.setlocal(9, t$0$PyObject);
1367 frame.setlocal(5, frame.getlocal(4).__call__(frame.getlocal(1), frame.getlocal(12)));
1368 frame.getlocal(5).invoke("setName", s$65._mod(frame.getlocal(9)._add(i$4)));
1369 frame.getlocal(2).invoke("append", frame.getlocal(5));
1371 frame.setlocal(6, frame.getlocal(8).__call__(frame.getlocal(1), frame.getlocal(12)._mul(frame.getlocal(10))));
1373 t$3$PyObject = frame.getlocal(2);
1374 while ((t$2$PyObject = t$3$PyObject.__finditem__(t$1$int++)) != null) {
1375 frame.setlocal(5, t$2$PyObject);
1376 frame.getlocal(5).invoke("start");
1377 frame.getglobal("_sleep").__call__(f$16);
1379 frame.getlocal(6).invoke("start");
1381 t$5$PyObject = frame.getlocal(2);
1382 while ((t$4$PyObject = t$5$PyObject.__finditem__(t$2$int++)) != null) {
1383 frame.setlocal(5, t$4$PyObject);
1384 frame.getlocal(5).invoke("join");
1386 frame.getlocal(6).invoke("join");
1390 private static PyObject main$77(PyFrame frame) {
1391 frame.setglobal("__file__", s$67);
1393 /* Proposed new threading module, emulating a subset of Java's threading model. */
1394 frame.setlocal("sys", org.python.core.imp.importOne("sys", frame));
1395 frame.setlocal("time", org.python.core.imp.importOne("time", frame));
1396 frame.setlocal("thread", org.python.core.imp.importOne("thread", frame));
1397 frame.setlocal("traceback", org.python.core.imp.importOne("traceback", frame));
1398 frame.setlocal("StringIO", org.python.core.imp.importOne("StringIO", frame));
1399 frame.setlocal("_sys", frame.getname("sys"));
1400 frame.dellocal("sys");
1401 frame.setlocal("_time", frame.getname("time").__getattr__("time"));
1402 frame.setlocal("_sleep", frame.getname("time").__getattr__("sleep"));
1403 frame.dellocal("time");
1404 frame.setlocal("_start_new_thread", frame.getname("thread").__getattr__("start_new_thread"));
1405 frame.setlocal("_allocate_lock", frame.getname("thread").__getattr__("allocate_lock"));
1406 frame.setlocal("_get_ident", frame.getname("thread").__getattr__("get_ident"));
1407 frame.setlocal("ThreadError", frame.getname("thread").__getattr__("error"));
1408 frame.dellocal("thread");
1409 frame.setlocal("_print_exc", frame.getname("traceback").__getattr__("print_exc"));
1410 frame.dellocal("traceback");
1411 frame.setlocal("_StringIO", frame.getname("StringIO").__getattr__("StringIO"));
1412 frame.dellocal("StringIO");
1413 frame.setlocal("_VERBOSE", i$1);
1414 if (frame.getname("__debug__").__nonzero__()) {
1415 frame.setlocal("_Verbose", Py.makeClass("_Verbose", new PyObject[] {}, c$2__Verbose, null));
1418 frame.setlocal("_Verbose", Py.makeClass("_Verbose", new PyObject[] {}, c$5__Verbose, null));
1420 frame.setlocal("Lock", frame.getname("_allocate_lock"));
1421 frame.setlocal("RLock", new PyFunction(frame.f_globals, new PyObject[] {}, c$6_RLock));
1422 frame.setlocal("_RLock", Py.makeClass("_RLock", new PyObject[] {frame.getname("_Verbose")}, c$14__RLock, null));
1423 frame.setlocal("Condition", new PyFunction(frame.f_globals, new PyObject[] {}, c$15_Condition));
1424 frame.setlocal("_Condition", Py.makeClass("_Condition", new PyObject[] {frame.getname("_Verbose")}, c$24__Condition, null));
1425 frame.setlocal("Semaphore", new PyFunction(frame.f_globals, new PyObject[] {}, c$25_Semaphore));
1426 frame.setlocal("_Semaphore", Py.makeClass("_Semaphore", new PyObject[] {frame.getname("_Verbose")}, c$29__Semaphore, null));
1427 frame.setlocal("Event", new PyFunction(frame.f_globals, new PyObject[] {}, c$30_Event));
1428 frame.setlocal("_Event", Py.makeClass("_Event", new PyObject[] {frame.getname("_Verbose")}, c$36__Event, null));
1429 frame.setlocal("_counter", i$1);
1430 frame.setlocal("_newname", new PyFunction(frame.f_globals, new PyObject[] {s$27}, c$37__newname));
1431 frame.setlocal("_active_limbo_lock", frame.getname("_allocate_lock").__call__());
1432 frame.setlocal("_active", new PyDictionary(new PyObject[] {}));
1433 frame.setlocal("_limbo", new PyDictionary(new PyObject[] {}));
1434 frame.setlocal("Thread", Py.makeClass("Thread", new PyObject[] {frame.getname("_Verbose")}, c$52_Thread, null));
1435 frame.setlocal("_MainThread", Py.makeClass("_MainThread", new PyObject[] {frame.getname("Thread")}, c$56__MainThread, null));
1436 frame.setlocal("_pickSomeNonDaemonThread", new PyFunction(frame.f_globals, new PyObject[] {}, c$57__pickSomeNonDaemonThread));
1437 frame.setlocal("_DummyThread", Py.makeClass("_DummyThread", new PyObject[] {frame.getname("Thread")}, c$61__DummyThread, null));
1438 frame.setlocal("currentThread", new PyFunction(frame.f_globals, new PyObject[] {}, c$62_currentThread));
1439 frame.setlocal("activeCount", new PyFunction(frame.f_globals, new PyObject[] {}, c$63_activeCount));
1440 frame.setlocal("enumerate", new PyFunction(frame.f_globals, new PyObject[] {}, c$64_enumerate));
1441 frame.getname("_MainThread").__call__();
1442 frame.setlocal("_test", new PyFunction(frame.f_globals, new PyObject[] {}, c$75__test));
1443 if (frame.getname("__name__")._eq(s$66).__nonzero__()) {
1444 frame.getname("_test").__call__();
1450 public static void moduleDictInit(PyObject dict) {
1451 dict.__setitem__("__name__", new PyString("threading"));
1452 Py.runCode(new _PyInner().getMain(), dict, dict);
1455 public static void main(String[] args) throws java.lang.Exception {
1456 String[] newargs = new String[args.length+1];
1457 newargs[0] = "threading";
1458 System.arraycopy(args, 0, newargs, 1, args.length);
1459 Py.runMain(threading._PyInner.class, newargs, threading.jpy$packages, threading.jpy$mainProperties, "", new String[] {"string", "random", "util", "traceback", "sre_compile", "atexit", "sre", "sre_constants", "StringIO", "javaos", "socket", "yapm", "calendar", "repr", "copy_reg", "SocketServer", "server", "re", "linecache", "javapath", "UserDict", "copy", "threading", "stat", "PathVFS", "sre_parse"});