This also works. Why? what did you do?
but why? My sockets and File I/O knowledge is not very good. Wouldn't changing default handle break "print "parent going to wait\n";" line and make it go to the child (it doesn't in real life, I got that line in the console) instead of to console? "print $parent "exit now\r\n\r";" says an explicit handle, it is not using a default handle why would changing the default handle affect it?