From a8b90cfcf722f4b1c4aac9f318e35824f02b8787 Mon Sep 17 00:00:00 2001
From: zhangmeng <775834166@qq.com>
Date: 星期三, 22 五月 2019 09:50:08 +0800
Subject: [PATCH] fix bug

---
 shm.go |   15 ++++++---------
 1 files changed, 6 insertions(+), 9 deletions(-)

diff --git a/shm.go b/shm.go
index 21f8167..a5b6ab9 100644
--- a/shm.go
+++ b/shm.go
@@ -10,9 +10,8 @@
 
 // SHM share memory
 type SHM struct {
-	rw   *shm.ReadWriteCloser
-	typ  td
-	data []byte
+	rw  *shm.ReadWriteCloser
+	typ td
 }
 
 // Send impl interface Diliver
@@ -36,10 +35,11 @@
 		return nil, errors.New("please open shm consumer first")
 	}
 
-	n, err := s.rw.Read(s.data)
+	data := make([]byte, maxRecvSize)
+	n, err := s.rw.Read(data)
 	if err == nil || err == io.EOF {
-		s.data = s.data[:n:n]
-		return s.data, nil
+		data = data[:n:n]
+		return data, nil
 	}
 
 	return nil, err
@@ -77,13 +77,11 @@
 		fmt.Println("shmProducer recv too much parameter: ", len(param))
 		return nil
 	}
-	shm.Unlink(url)
 	if rw, err := shm.CreateSimplex(url, 0644, param[0], param[1]); err == nil {
 		fmt.Println(rw.Name())
 		return &SHM{
 			rw,
 			agent,
-			nil,
 		}
 	}
 
@@ -102,7 +100,6 @@
 		return &SHM{
 			rw,
 			coactee,
-			make([]byte, maxRecvSize),
 		}
 	}
 	fmt.Println("shmConsumer open error")

--
Gitblit v1.8.0