Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # THIS IS WHEN RUNNING `python3 a.py` AND EVERYTHING GOES WELL
- a.py
- /home/User/.pyenv/versions/3.6.12/bin/python3
- 11 0 LOAD_GLOBAL 0 (time)
- 2 LOAD_ATTR 1 (sleep)
- 4 LOAD_CONST 1 (1)
- 6 CALL_FUNCTION 1
- 8 POP_TOP
- 12 10 LOAD_GLOBAL 2 (print)
- 12 LOAD_CONST 2 ('child interrupting parent')
- 14 CALL_FUNCTION 1
- 16 POP_TOP
- 13 18 LOAD_GLOBAL 3 (_thread)
- 20 LOAD_ATTR 4 (interrupt_main)
- 22 CALL_FUNCTION 0
- 24 POP_TOP
- 26 LOAD_CONST 0 (None)
- 28 RETURN_VALUE
- 1 0 LOAD_CONST 0 (0)
- 2 LOAD_CONST 1 (None)
- 4 IMPORT_NAME 0 (threading)
- 6 STORE_NAME 0 (threading)
- 2 8 LOAD_CONST 0 (0)
- 10 LOAD_CONST 1 (None)
- 12 IMPORT_NAME 1 (_thread)
- 14 STORE_NAME 1 (_thread)
- 3 16 LOAD_CONST 0 (0)
- 18 LOAD_CONST 1 (None)
- 20 IMPORT_NAME 2 (time)
- 22 STORE_NAME 2 (time)
- 4 24 LOAD_CONST 0 (0)
- 26 LOAD_CONST 1 (None)
- 28 IMPORT_NAME 3 (sys)
- 30 STORE_NAME 3 (sys)
- 5 32 LOAD_CONST 0 (0)
- 34 LOAD_CONST 1 (None)
- 36 IMPORT_NAME 4 (dis)
- 38 STORE_NAME 4 (dis)
- 7 40 LOAD_NAME 5 (print)
- 42 LOAD_NAME 6 (__file__)
- 44 CALL_FUNCTION 1
- 46 POP_TOP
- 8 48 LOAD_NAME 5 (print)
- 50 LOAD_NAME 3 (sys)
- 52 LOAD_ATTR 7 (executable)
- 54 CALL_FUNCTION 1
- 56 POP_TOP
- 10 58 LOAD_CONST 2 (<code object child_thread at 0x7fae93fd99c0, file "a.py", line 10>)
- 60 LOAD_CONST 3 ('child_thread')
- 62 MAKE_FUNCTION 0
- 64 STORE_NAME 8 (child_thread)
- 15 66 LOAD_NAME 4 (dis)
- 68 LOAD_ATTR 4 (dis)
- 70 LOAD_NAME 8 (child_thread)
- 72 CALL_FUNCTION 1
- 74 POP_TOP
- 16 76 LOAD_NAME 4 (dis)
- 78 LOAD_ATTR 4 (dis)
- 80 LOAD_NAME 3 (sys)
- 82 LOAD_ATTR 9 (_getframe)
- 84 CALL_FUNCTION 0
- 86 LOAD_ATTR 10 (f_code)
- 88 CALL_FUNCTION 1
- 90 POP_TOP
- 18 92 LOAD_NAME 11 (__name__)
- 94 LOAD_CONST 4 ('__main__')
- 96 COMPARE_OP 2 (==)
- 98 EXTENDED_ARG 1
- 100 POP_JUMP_IF_FALSE 278
- 19 102 LOAD_NAME 0 (threading)
- 104 LOAD_ATTR 12 (Thread)
- 106 LOAD_NAME 8 (child_thread)
- 108 BUILD_TUPLE 0
- 110 LOAD_CONST 5 (('target', 'args'))
- 112 CALL_FUNCTION_KW 2
- 114 STORE_NAME 13 (t)
- 20 116 LOAD_NAME 13 (t)
- 118 LOAD_ATTR 14 (start)
- 120 CALL_FUNCTION 0
- 122 POP_TOP
- 21 124 LOAD_NAME 5 (print)
- 126 LOAD_CONST 6 ('parent looping')
- 128 CALL_FUNCTION 1
- 130 POP_TOP
- 22 132 SETUP_EXCEPT 20 (to 154)
- 23 134 SETUP_LOOP 14 (to 150)
- 24 >> 136 LOAD_NAME 2 (time)
- 138 LOAD_ATTR 15 (sleep)
- 140 LOAD_CONST 7 (1)
- 142 CALL_FUNCTION 1
- 144 POP_TOP
- 146 JUMP_ABSOLUTE 136
- 148 POP_BLOCK
- >> 150 POP_BLOCK
- 152 JUMP_FORWARD 124 (to 278)
- 25 >> 154 DUP_TOP
- 156 LOAD_NAME 16 (KeyboardInterrupt)
- 158 COMPARE_OP 10 (exception match)
- 160 POP_JUMP_IF_FALSE 180
- 162 POP_TOP
- 164 POP_TOP
- 166 POP_TOP
- 26 168 LOAD_NAME 5 (print)
- 170 LOAD_CONST 8 ('caught interruption raised from user or child thread :)')
- 172 CALL_FUNCTION 1
- 174 POP_TOP
- 176 POP_EXCEPT
- 178 JUMP_FORWARD 98 (to 278)
- 27 >> 180 DUP_TOP
- 182 LOAD_NAME 17 (TypeError)
- 184 COMPARE_OP 10 (exception match)
- 186 POP_JUMP_IF_FALSE 232
- 188 POP_TOP
- 190 STORE_NAME 18 (e)
- 192 POP_TOP
- 194 SETUP_FINALLY 26 (to 222)
- 28 196 LOAD_NAME 5 (print)
- 198 LOAD_CONST 9 ('why would I ever catch a TypeError?')
- 200 CALL_FUNCTION 1
- 202 POP_TOP
- 29 204 LOAD_NAME 5 (print)
- 206 LOAD_NAME 2 (time)
- 208 LOAD_ATTR 15 (sleep)
- 210 CALL_FUNCTION 1
- 212 POP_TOP
- 30 214 RAISE_VARARGS 0
- 216 POP_BLOCK
- 218 POP_EXCEPT
- 220 LOAD_CONST 1 (None)
- >> 222 LOAD_CONST 1 (None)
- 224 STORE_NAME 18 (e)
- 226 DELETE_NAME 18 (e)
- 228 END_FINALLY
- 230 JUMP_FORWARD 46 (to 278)
- 31 >> 232 DUP_TOP
- 234 LOAD_NAME 19 (Exception)
- 236 COMPARE_OP 10 (exception match)
- 238 EXTENDED_ARG 1
- 240 POP_JUMP_IF_FALSE 276
- 242 POP_TOP
- 244 STORE_NAME 18 (e)
- 246 POP_TOP
- 248 SETUP_FINALLY 16 (to 266)
- 32 250 LOAD_NAME 5 (print)
- 252 LOAD_CONST 10 ('Strange Exception Received ')
- 254 CALL_FUNCTION 1
- 256 POP_TOP
- 33 258 RAISE_VARARGS 0
- 260 POP_BLOCK
- 262 POP_EXCEPT
- 264 LOAD_CONST 1 (None)
- >> 266 LOAD_CONST 1 (None)
- 268 STORE_NAME 18 (e)
- 270 DELETE_NAME 18 (e)
- 272 END_FINALLY
- 274 JUMP_FORWARD 2 (to 278)
- >> 276 END_FINALLY
- >> 278 LOAD_CONST 1 (None)
- 280 RETURN_VALUE
- parent looping
- child interrupting parent
- caught interruption raised from user or child thread :)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement