diff -r f4ccc2f29777 -r f59b79d032da xmpp/xmpp.go --- a/xmpp/xmpp.go Wed Oct 16 20:29:29 2013 -0600 +++ b/xmpp/xmpp.go Wed Oct 16 20:41:14 2013 -0600 @@ -230,8 +230,13 @@ func (cl *Client) Close() { // Shuts down the receivers: cl.setStatus(StatusShutdown) + // Shuts down the senders: - close(cl.Send) + select { + case cl.Send <- &Iq{}: + close(cl.Send) + default: + } } // If there's a buffered error in the channel, return it. Otherwise,