浏览代码

Merge pull request #82 from patricklucas/fix_two_minor_bugs

Fix two minor bugs in producer.go
Willem van Bergen 11 年之前
父节点
当前提交
193b1dd483
共有 1 个文件被更改,包括 1 次插入2 次删除
  1. 1 2
      producer.go

+ 1 - 2
producer.go

@@ -242,7 +242,6 @@ func (p *Producer) newBrokerProducer(broker *Broker) *brokerProducer {
 				if shutdownRequired = bp.flush(p); shutdownRequired {
 					goto shutdown
 				}
-				bp.flush(p)
 			case <-timer.C:
 				if shutdownRequired = bp.flushIfAnyMessages(p); shutdownRequired {
 					goto shutdown
@@ -314,9 +313,9 @@ func (bp *brokerProducer) flush(p *Producer) (shutdownRequired bool) {
 	bp.mapM.Lock()
 	for tp, messages := range bp.messages {
 		if len(messages) > 0 && p.tryAcquireDeliveryLock(tp) {
-			defer p.releaseDeliveryLock(tp)
 			prb = append(prb, messages...)
 			delete(bp.messages, tp)
+			p.releaseDeliveryLock(tp)
 		}
 	}
 	bp.mapM.Unlock()