From 43e52a52e24ad4fd00d351b21259b9a76affbaed Mon Sep 17 00:00:00 2001
From: 554325746@qq.com <554325746@qq.com>
Date: 星期四, 22 八月 2019 14:40:06 +0800
Subject: [PATCH] memleak bug fix

---
 shm.go |   14 +++++++-------
 1 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/shm.go b/shm.go
index 106c4f2..7899793 100644
--- a/shm.go
+++ b/shm.go
@@ -14,6 +14,8 @@
 type SHM struct {
 	rw  *shm.ReadWriteCloser
 	typ td
+
+	data []byte
 }
 
 // Send impl interface Diliver
@@ -53,15 +55,11 @@
 
 	ch := make(chan []byte)
 	go func(){
-		var body []byte
-		data := make([]byte, maxRecvSize)
-		n, err := s.rw.Read(data)
+		n, err := s.rw.Read(s.data)
 		if err == nil || err == io.EOF {
-			body = make([]byte, n)
-			copy(body, data)
-			// data = data[:n:n]
+			s.data = s.data[:n:n]
 		}
-		ch <- data
+		ch <- s.data
 	}()
 	select{
 	case d := <-ch:
@@ -125,6 +123,7 @@
 		return &SHM{
 			rw,
 			agent,
+			make([]byte, maxRecvSize),
 		}, nil
 	}
 
@@ -141,6 +140,7 @@
 		return &SHM{
 			rw,
 			coactee,
+			make([]byte, maxRecvSize),
 		}, nil
 	}
 	return nil, err

--
Gitblit v1.8.0