¿Qué significa el código errno 24 (EMFILE) en Cualquiera?

 
También puede significar:
ConstanteTipoSO
ERROR_BAD_LENGTHError de WindowsWindows
KERN_MEMORY_DATA_MOVEDRetorno del kernel de macOSmacOS
ippStsNoOperationInDllEstado de Intel IPPCualquiera
REFERENCE_BY_POINTERCódigo BSODWindows
Anterior Siguiente
ENFILE ENOTTY

EMFILE

Qué significa EMFILE

EMFILE indica que el proceso alcanzó su propio límite de descriptores. Puede aparecer al abrir archivos, aceptar sockets, crear tuberías, duplicar descriptores o en cualquier API que necesite asignar uno nuevo. En Linux, RLIMIT_NOFILE participa directamente en ese límite.

Una causa común es una fuga: el descriptor se cierra en el camino normal pero queda abierto tras un error, cancelación, timeout o reconexión. También puede alcanzarse legítimamente si el servicio permite un número de conexiones o cachés sin un tope coherente con su configuración.

Qué comprobar

  • Mide cuántos descriptores mantiene el proceso, clasifícalos por tipo/propietario y compáralos con su límite efectivo.
  • Audita cierres en rutas de error, timeouts, handshakes fallidos, lanzamientos de procesos y descriptores duplicados.
  • Configura close-on-exec deliberadamente para que los procesos hijos no hereden recursos que no necesitan.
  • Aumenta el límite solo después de comprobar el dimensionamiento y la limpieza; un límite mayor puede limitarse a retrasar una fuga.

Referencias técnicas


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