¿Existe una forma más limpia de usar la función de escritura () de manera confiable?

yo leo elman páginas, y mi entendimiento es que siwrite() falla y establece elerrno aEAGAIN oEINTR, Puedo realizar elwrite() de nuevo, así que se me ocurrió el siguiente código:

<code>  ret = 0;
  while(ret != count) {
    write_count = write(connFD, (char *)buf + ret,  count);
    while (write_count < 0) {
      switch(errno) {
        case EINTR:
        case EAGAIN:
          write_count = write(connFD, (char *)buf + ret,  count -ret);
          break;
        default:
          printf("\n The value of ret is : %d\n", ret);
          printf("\n The error number is : %d\n", errno);      
          ASSERT(0);
      }
    }
    ret += write_count;
  }
</code>

Estoy realizandoread() ywrite() en los zócalos y el manejo de laread() similar a la anterior. Estoy usando Linux, congcc compilador.

Respuestas a la pregunta(4)

Su respuesta a la pregunta