It would be a bit safer to through a 
```
return die("Time to go!") 
```

into the exception handler since os.read(fd, FD_READ_BYTES) can probably return an empty string. 

I'm not sure if we really care about logging the exact exception... the end user probably can't do anything useful with the information.  We should probably also handle SIGCHILD, but that won't fly on windows.

Anyway, I'm happy to merge with the one change.