瀏覽代碼

check for double release

Darien Raymond 8 年之前
父節點
當前提交
5769df496b
共有 1 個文件被更改,包括 8 次插入4 次删除
  1. 8 4
      common/bufio/writer.go

+ 8 - 4
common/bufio/writer.go

@@ -85,11 +85,15 @@ func (v *BufferedWriter) SetCached(cached bool) {
 	}
 }
 
+// Release implements common.Releasable.Release().
 func (v *BufferedWriter) Release() {
-	v.Flush()
-
-	v.buffer.Release()
-	v.buffer = nil
+	if !v.buffer.IsEmpty() {
+		v.Flush()
+	}
 
+	if v.buffer != nil {
+		v.buffer.Release()
+		v.buffer = nil
+	}
 	common.Release(v.writer)
 }