| 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_ERRORal 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.