exit when child has exited, not earlier (mh)

With this little addition, the supervisor won't exit until the child process has really exited.

I need this feature because my app has a graceful shutdown.

Already tested it on my machine and works well. Also added few missing semicolons.
I'm not sure I like this line. I don't understand exactly why it's here, which starts to feel superstitious. Could you give me a scenario in which the child would have an exit handler hanging around that would interfere?