shm.go
@@ -1,6 +1,7 @@ package deliver import ( "bytes" "errors" "fmt" "io" @@ -12,8 +13,8 @@ // SHM share memory type SHM struct { rw *shm.ReadWriteCloser typ td rw *shm.ReadWriteCloser typ td } // Send impl interface Diliver @@ -53,12 +54,12 @@ ch := make(chan []byte) go func(){ data := make([]byte, maxRecvSize) n, err := s.rw.Read(data) buffer := new(bytes.Buffer) _, err := s.rw.WriteTo(buffer) if err == nil || err == io.EOF { data = data[:n:n] ch <- buffer.Bytes() } ch <- data ch <- nil }() select{ case d := <-ch: