zhangmeng
2019-08-26 0ac4c151e08a9735d085c08ca5bcd9b50944d650
memleak
1个文件已修改
21 ■■■■■ 已修改文件
shm.go 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
shm.go
@@ -13,6 +13,8 @@
type SHM struct {
    rw  *shm.ReadWriteCloser
    typ td
    recvData []byte
}
// Send impl interface Diliver
@@ -36,10 +38,13 @@
        return nil, errors.New("please open shm consumer first")
    }
    data := make([]byte, maxRecvSize)
    n, err := s.rw.Read(data)
    if s.recvData == nil {
        s.recvData = make([]byte, maxRecvSize)
    }
    n, err := s.rw.Read(s.recvData)
    if err == nil || err == io.EOF {
        data = data[:n:n]
        data := make([]byte, n)
        copy(data, s.recvData)
        return data, nil
    }
@@ -88,8 +93,9 @@
    if err == nil {
        fmt.Println(rw.Name())
        return &SHM{
            rw,
            agent,
            rw:       rw,
            typ:      agent,
            recvData: nil,
        }, nil
    }
@@ -104,8 +110,9 @@
    rw, err := shm.OpenSimplex(url)
    if err == nil {
        return &SHM{
            rw,
            coactee,
            rw:       rw,
            typ:      coactee,
            recvData: nil,
        }, nil
    }
    return nil, err