code: func RetrySelect(n int, r, w, e *FDSet, timeout time.Duration, retries int, retryDelay time.Duration) (err error) {
  	for i := 0; i < retries; i++ {
  		if err = Select(n, r, w, e, timeout); err != syscall.EINTR {
  			return err
  		}
  		time.Sleep(retryDelay)
  	}
  	return err
  }
docs: // RetrySelect wraps syscall.Select with Go types, and retries a number of times, with a given retryDelay.