run goroutine after first read from channel

Fixes a race where the goroutine could receive the signal first, treat
it as the second signal, and kill the program.

Fixes #2.