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

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.

2795543
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.

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 2795543 - Última Revisão: 01/30/2013 16:24:00 - Revisão: 1.0

  • 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
  • kbmt KB2795543 KbMtpt
Esta informação foi útil?