Um aplicativo travar quando ele chama SignalObjectAndWait no Windows 7 ou Windows Server 2008 R2

Traduções deste artigo Traduções deste artigo
ID do artigo: 2795543 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Sintomas

Um aplicativo que chama o SignalObjectAndWait e PulseEvent APIs pode enfrentar um deadlock no Windows 7 ou no Windows Server 2008 R2. Se os threads que exibido pelo SignalObjectAndWait chamam PulseEvent para sinalizar o objeto de espera da chamada SignalObjectAndWait , o thread do chamador de SignalObjectAndWait não pode receber o estado de sinal do objeto em espera.

Causa

Não há garantia de operações de sinal e espera devem ser executadas como operações atômicas quando um aplicativo chama a função SignalObjectAndWait .

Resolução

Para resolver esse problema, configure o aplicativo para chamar o SetEvent API em vez de PulseEvent API. Este método deve funcionar na maioria dos casos.

Propriedades

ID do artigo: 2795543 - Última revisão: quarta-feira, 30 de janeiro de 2013 - Revisão: 1.0
A informação contida neste artigo aplica-se a:
  • Windows 7 Enterprise
  • Windows 7 Professional
  • Windows 7 Ultimate
  • Windows 7 Service Pack 1
  • Windows Server 2008 R2 Standard
  • Windows Server 2008 R2 Standard without Hyper-V
  • Windows Server 2008 R2 Enterprise
  • Windows Server 2008 R2 Enterprise without Hyper-V
  • Windows Server 2008 R2 Datacenter
  • Windows Server 2008 R2 Datacenter without Hyper-V
  • Windows Server 2008 R2 for Itanium-Based Systems
  • Windows Server 2008 R2 Service Pack 1
Palavras-chave: 
kbmt KB2795543 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 2795543

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com