code: func NewSelect() (*Select, error) {
  	r, w, err := os.Pipe()
  	if err != nil {
  		return nil, err
  	}
  	s := &Select{
  		readers:      []*selectReader{},
  		writers:      []writeFder{},
  		controlPipeR: r,
  		controlPipeW: w,
  	}
  	return s, nil
  }
docs: // NewSelect .