Estoy depurando un problema de interbloqueo y la pila de llamadas muestra que los subprocesos están esperando en algunos eventos.Contador de bloqueo negativo de la sección crítica
El código está utilizando la sección crítica como primitiva de sincronización Creo que hay algún problema aquí. También el depurador apunta a una sección crítica que pertenece a algún otro subproceso, pero el recuento de bloqueos es -2. Según mi entendimiento, el conteo de bloqueo> 0 significa que la sección crítica está bloqueada por uno o más subprocesos.
Entonces, ¿hay alguna posibilidad de que esté buscando en la sección crítica correcta que podría ser el culpable de un punto muerto?
¿En qué escenarios puede una sección crítica tener un recuento de bloqueo negativo?
Raymond Chen acaba de escribir una publicación sobre las consecuencias de dejar un CS más veces que ingresarlo. Y también vale la pena leer los tres primeros comentarios ... http://blogs.msdn.com/oldnewthing/archive/2009/06/19/9777996.aspx – eran