Module Expr Str Import alias Import alias Import alias Import alias Import alias Import alias Assign NameStore Num Assign NameStore Num FunctionDef arguments args defaults body Expr Call AttributeLoad NameLoad attr Num decorator_list For NameStore Call NameLoad NameLoad body Assign NameStore Call AttributeLoad NameLoad attr If CompareEq NameLoad Num body Expr Call NameLoad Expr Call AttributeLoad NameLoad attr Num orelse Print Str NameLoad FunctionDef arguments args NameParam NameParam defaults body Global identifier Print Str Expr Call AttributeLoad NameLoad attr AugAssignAdd NameStore Num If CompareEq NameLoad NameLoad body Print Str Expr Call AttributeLoad NameLoad attr decorator_list Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad While NameLoad body Expr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr BinOpPow Call AttributeLoad NameLoad attr Num Num Num Expr Call AttributeLoad NameLoad attr Num
N/A N/A 
Trapping SIGCHLD

On posix-compliant platforms, SIGCHLD is the signal sent to a process when a
child process terminates.

I must mention a caveat. signal delivery is unreliable. by
this I mean that if your code is handling a CHLD signal while another proces
dies you may or may not receive a second CHLD signal. This can lead to
inconsistent results with the code snippet below
 N/A os N/A sys N/A signal N/A time N/A math N/A random N/A child_processes 3 N/A dead_processes 0 do_work N/A N/A N/A N/A N/A N/A N/A time sleep 3 N/A N/A _ N/A range child_processes N/A N/A pid N/A N/A os fork N/A N/A pid 0 N/A N/A N/A do_work N/A N/A N/A os _exit 0 N/A N/A Spawned child with pid pid wait_children N/A N/A signum frame N/A N/A N/A dead_processes N/A A child has died N/A N/A N/A os wait N/A dead_processes 1 N/A N/A dead_processes child_processes N/A N/A All children are dead N/A N/A N/A sys exit N/A N/A N/A N/A signal signal N/A signal SIGCHLD wait_children N/A True N/A N/A N/A N/A math floor N/A N/A math sqrt N/A N/A N/A random randint 1 44 8 N/A N/A N/A time sleep 1