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

Traduções de Artigos Traduções de Artigos
Artigo: 2795543 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir 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

Artigo: 2795543 - Última revisão: 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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes 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