cleanup after panic

We had this earlier, but I removed it during the interrupt handling refactor. Need to put it back.
Yup, instead of a new channel, I've updated to send `os.Interrupt` directly to the same channel. Simpler this way.