| Anterior | Siguiente |
| ENOSYS | EPROTOTYPE |
EWOULDBLOCK
Qué significa EWOULDBLOCK
EWOULDBLOCK forma parte del contrato de E/S no bloqueante. Indica que la operación no puede progresar inmediatamente sin dormir al hilo. No significa corrupción ni demuestra que el peer haya cerrado la conexión.
En código dirigido por eventos debe tratarse como backpressure normal: conserva el estado pendiente y espera la siguiente notificación de readiness apropiada. Incluso después de un evento, otra llamada puede volver a devolverlo porque otro hilo consumió los datos o cambió el espacio disponible antes de que se ejecutara el syscall.
Qué comprobar
- Registra si el descriptor está en modo no bloqueante y qué máscara de eventos se observó.
- Conserva cuántos bytes ya fueron transferidos antes del punto en que no se pudo progresar.
- Distingue polling level-triggered y edge-triggered y drena el descriptor según las reglas del event loop.
- En código portable, trata
EAGAINyEWOULDBLOCKde acuerdo con la plataforma; en Linux tienen el mismo valor para sockets.
Referencias técnicas
¿Buscas un código diferente? Buscar otro código de estado o error.