There was a race condition that would sometimes occur in that if we stopped reading from the gapiChan (on shutdown) but then a new message was available before we managed to close the GAPI, then we would wait forever to finish the close because the channel never sent, and the WaitGroup wouldn't let us exit. This fixes this horrible, horrible race.