mnemosyned/daemon.go
func (d *Daemon) Close() (err error) {
	d.done <- struct{}{}
	d.server.GracefulStop()
	if d.postgres != nil {
		if err = d.postgres.Close(); err != nil {
			return
		}
	}
	if d.debugListener != nil {
		if err = d.debugListener.Close(); err != nil {
			return
		}
	}
	if d.tracerCloser != nil {
		if err = d.tracerCloser.Close(); err != nil {
			return
		}
	}
	return nil
}
func (d *Daemon) Close() (err error) {
	d.done <- struct{}{}
	d.server.GracefulStop()
	if d.postgres != nil {
		if err = d.postgres.Close(); err != nil {
			return
		}
	}
	if d.debugListener != nil {
		if err = d.debugListener.Close(); err != nil {
			return
		}
	}
	if d.tracerCloser != nil {
		if err = d.tracerCloser.Close(); err != nil {
			return
		}
	}
	return nil
}
// Close implements io.Closer interface.