1. The sleep is here at all because this thread should cease to do anything as another is calling exit().

2. sleep will return early in many cases involving signals. I would guess that currently there aren't many reasons to expect a signal. But, for example, if one day some child process is involved, a SIGCHLD may get delivered around here and we'd like to continue waiting for that imminent exit() regardless.