¿Qué significa el código errno 17 (EEXIST) en Cualquiera?

 
También puede significar:
ConstanteTipoSO
ERROR_NOT_SAME_DEVICEError de WindowsWindows
KERN_INVALID_RIGHTRetorno del kernel de macOSmacOS
ippStsUnderflowEstado de Intel IPPCualquiera
THREAD_NOT_MUTEX_OWNERCódigo BSODWindows
Anterior Siguiente
EBUSY EXDEV

EEXIST

Qué significa EEXIST

EEXIST aparece cuando una API intenta crear un objeto solo si el destino no existe, pero el nombre ya está ocupado. El caso clásico es open() con O_CREAT|O_EXCL; las operaciones de enlace y algunas variantes de renombrado sin sustitución aplican la misma idea.

En software concurrente puede ser un resultado esperado e incluso una señal de que el diseño es correcto: una operación atómica de «crear o fallar» evita la carrera que introduce comprobar primero si el nombre existe y crearlo después.

Qué comprobar

  • Decide si un objeto ya existente equivale a éxito, a conflicto o a la necesidad de generar un nombre nuevo.
  • Antes de aceptar el objeto existente como equivalente, comprueba que pertenece al trabajo, versión o propietario esperados.
  • Conserva la creación atómica; no sustituyas O_EXCL por una secuencia «comprobar y luego crear».
  • Cuando varios trabajadores compiten por el mismo nombre, usa un protocolo explícito de propiedad o reserva si el nombre por sí solo no basta.

Referencias técnicas


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