func (c *gcmClient) Close() (err error) {
	c.Lock()
	defer c.Unlock()

	close(c.killMonitor)
	if c.xmppClient != nil {
		err = c.xmppClient.Close(true)
	}

	return
}
// Close will stop and close the corresponding client, releasing all resources (blocking).
Close will stop and close the corresponding client, releasing all resources (blocking).
// Close will stop and close the corresponding client releasing all resources ( blocking ) .
func (c *gcmClient) Close() (err error) {
	c.Lock()
	defer c.Unlock()
	close(c.killMonitor)
	if c.xmppClient != nil {
		err = c.xmppClient.Close(true)
	}
	return
}
func ( c * gcmClient ) Close ( ) ( err error ) { c . Lock ( ) defer c . Unlock ( ) close ( c . killMonitor ) if c . xmppClient != nil { err = c . xmppClient . Close ( true ) } return }
Close will stop and close the corresponding client, releasing all resources (blocking).
Close will stop and close the corresponding client releasing all resources ( blocking ) .