Browse Source

Fix race condition in Close()

Patrick Lee 11 years ago
parent
commit
fbee6d3a0c
1 changed files with 2 additions and 0 deletions
  1. 2 0
      producer.go

+ 2 - 0
producer.go

@@ -110,6 +110,8 @@ func (p *Producer) Errors() chan error {
 // it may otherwise leak memory. You must call this before calling Close on the
 // underlying client.
 func (p *Producer) Close() error {
+	p.m.Lock()
+	defer p.m.Unlock()
 	for _, bp := range p.brokerProducers {
 		bp.Close()
 	}