554325746@qq.com
2019-08-22 d1980f96745856299a784c5f43aa2ee5fd9fe8b5
shm.go
@@ -53,10 +53,13 @@
   ch := make(chan []byte)
   go func(){
      var body []byte
      data := make([]byte, maxRecvSize)
      n, err := s.rw.Read(data)
      if err == nil || err == io.EOF {
         data = data[:n:n]
         body = make([]byte, n)
         copy(body, data)
         // data = data[:n:n]
      }
      ch <- data
   }()
@@ -100,7 +103,6 @@
   var param []int
   for _, v := range args {
      fmt.Println(v)
      switch v.(type) {
      case int:
         param = append(param, v.(int))
@@ -109,13 +111,15 @@
         return nil, errors.New("shmServer created recv error parameters")
      }
   }
   if len(param) != 2 {
      return nil, errors.New("shmServer created recv too much parameters")
   }
   blocks, size := 2, maxRecvSize
   if len(param) == 2 {
      blocks, size = param[0], param[1]
      // return nil, errors.New("shmServer created recv too much parameters")
   }
   shm.Unlink(url)
   rw, err := shm.CreateSimplex(url, 0644, param[0], param[1])
   rw, err := shm.CreateSimplex(url, 0644, blocks, size)
   if err == nil {
      fmt.Println(rw.Name())
      return &SHM{