| Anterior | Siguiente |
| STATUS_MUTANT_NOT_OWNED | STATUS_PORT_ALREADY_SET |
STATUS_SEMAPHORE_LIMIT_EXCEEDED
Qué significa STATUS_SEMAPHORE_LIMIT_EXCEEDED
Un semaphore tiene un count actual y un máximo fijo. La operación de release intentó incrementar el count más allá de ese máximo, lo que normalmente revela bookkeeping incorrecto: cleanup después de un acquire fallido, completion duplicada o más unidades liberadas que adquiridas.
Un retry idéntico no arregla la invariante. Registre el maximum, release increment y previous count si la API lo devuelve, y encuentre el primer punto donde la contabilidad deja de balancear.
Qué comprobar
- Maximum count configurado al crear el semaphore.
- Incremento solicitado en el release.
- Acquires exitosos frente a releases ejecutados.
- Callbacks de completion o cleanup que puedan dispararse dos veces.
Referencias técnicas
- Microsoft: Semaphore Objects
- Microsoft: ReleaseSemaphore
- Microsoft Open Specifications: NTSTATUS values
¿Buscas un código diferente? Buscar otro código de estado o error.
