¿Qué significa el código errno 114 (EALREADY) en Linux?

 
También puede significar:
ConstanteTipoSO
ERROR_INVALID_TARGET_HANDLEError de WindowsWindows
ELOOPerrnoWindows
ASSIGN_DRIVE_LETTERS_FAILEDCódigo BSODWindows
Anterior Siguiente
EISCONN ELOOP

EALREADY

Qué significa EALREADY

EALREADY es un resultado del estado del socket. Suele aparecer cuando el programa vuelve a llamar a connect() antes de que termine un intento no bloqueante anterior. La segunda llamada no inicia una conexión nueva ni indica si el primer intento acabará bien.

La secuencia normal es recibir EINPROGRESS, esperar a que el socket esté listo para escritura y consultar después SO_ERROR con getsockopt(). Que el descriptor sea escribible no demuestra por sí solo que la conexión se haya establecido.

Qué comprobar

  • No inicies un nuevo connect() desde cada notificación de escritura.
  • Lee SO_ERROR al completar el evento y actualiza de forma atómica el estado «connecting».
  • Si la conexión termina con error, cierra el socket y crea otro en lugar de reutilizar un objeto cuyo estado ya falló.
  • Registra la llamada y flags concretos: algunos caminos de Linux, como TCP Fast Open, también pueden usar este errno.

Referencias técnicas


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