¿Qué significa el código NTSTATUS 0xC0000047 (STATUS_SEMAPHORE_LIMIT_EXCEEDED)?

 
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


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