code: func retryOnError(err error) bool {
  	switch err := err.(type) {
  	case *os.PathError:
  		return retryOnError(err.Err) // unpack the target error
  	case syscall.Errno:
  		if err == unix.EPERM {
  			// EPERM represents an entropy pool exhaustion, a condition under
  			// which we backoff and retry.
  			return true
  		}
  	}
  
  	return false
  }
docs: // retryOnError tries to detect whether or not retrying would be fruitful.