554325746@qq.com
2019-08-22 074c0c376a7b6c91bad7c45e050270a4a6856b6d
memleak bug fix
1个文件已修改
19 ■■■■■ 已修改文件
shm.go 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
shm.go
@@ -1,6 +1,7 @@
package deliver
import (
    "bytes"
    "errors"
    "fmt"
    "io"
@@ -12,10 +13,8 @@
// SHM share memory
type SHM struct {
    rw  *shm.ReadWriteCloser
    typ td
    data []byte
    rw      *shm.ReadWriteCloser
    typ     td
}
// Send impl interface Diliver
@@ -55,14 +54,12 @@
    ch := make(chan []byte)
    go func(){
        var data []byte
        n, err := s.rw.Read(s.data)
        buffer := new(bytes.Buffer)
        _, err := s.rw.WriteTo(buffer)
        if err == nil || err == io.EOF {
            data = make([]byte, n)
            copy(data, s.data)
            // s.data = s.data[:n:n]
            ch <- buffer.Bytes()
        }
        ch <- s.data
        ch <- nil
    }()
    select{
    case d := <-ch:
@@ -126,7 +123,6 @@
        return &SHM{
            rw,
            agent,
            make([]byte, maxRecvSize),
        }, nil
    }
@@ -143,7 +139,6 @@
        return &SHM{
            rw,
            coactee,
            make([]byte, maxRecvSize),
        }, nil
    }
    return nil, err