¿Qué significa el código errno 4 (EINTR) en Cualquiera?

 
También puede significar:
ConstanteTipoSO
ERROR_TOO_MANY_OPEN_FILESError de WindowsWindows
KERN_INVALID_ARGUMENTRetorno del kernel de macOSmacOS
ippStsInvZeroEstado de Intel IPPCualquiera
INVALID_DATA_ACCESS_TRAPCódigo BSODWindows
Anterior Siguiente
ESRCH EIO

EINTR

Qué significa EINTR

EINTR significa que una señal interrumpió una llamada al sistema o función bloqueante antes de que terminara. Algunas interfaces se reinician automáticamente después del manejador de señal y otras regresan con EINTR; en sistemas que ofrecen SA_RESTART, esa opción influye en muchas llamadas, pero no convierte todas las operaciones en reiniciables.

La respuesta correcta depende de la llamada concreta. Un reintento puede ser apropiado para una espera que no produjo efectos, mientras que una operación que ya transfirió datos puede devolver un resultado parcial en vez de EINTR. Por eso no es seguro envolver cualquier llamada en un bucle de reintento ciego.

Qué comprobar

  • Guarda el valor de errno inmediatamente después del fallo si otras llamadas de biblioteca pueden modificarlo.
  • Identifica la señal recibida, la función interrumpida, sus opciones y si el manejador se instaló con una política de reinicio como SA_RESTART.
  • Revisa el contrato de la API para saber si debe repetirse y cómo conservar timeouts o progreso parcial al hacerlo.
  • Mantén separados el nombre simbólico y el número de errno al comparar sistemas UNIX: el valor numérico y los detalles de reinicio no son necesariamente portables.

Referencias técnicas


¿Buscas un código diferente? Buscar otro código de estado o error.