Aplica-se AWindows Embedded Compact 7

Introdução

Este artigo descreve um problema no qual umn excepção ocorre quando vários threads chamar a função de tempo de execução "atexit" C em simultâneo no Windows Embedded Compact 7. Existe uma actualização resolver este problema. Antes de instalar esta actualização, tem de ser instaladas todas as actualizações anteriormente disponibilizadas para este produto.

Sintomas

Quando vários threads de chamar a função de tempo de execução atexit C ao mesmo tempo no Windows Embedded Compact 7, poderá ocorrer uma excepção. A excepção ocorre quando o código que chama a função atexit não é serializado ou quando a função atexit é inserida pelo compilador.

Causa

Este problema ocorre porque a função de atexit de tempo de execução C não é seguro para thread. Por conseguinte, a tabela de memória que utiliza a função está danificada.

Resolução

Informações de actualização de software

Uma actualização de software suportado está agora disponível na Microsoft nome actualização mensal do Windows Embedded Compact 7 (Junho de 2017).

Nota Este Embedded Compact 7 actualização mensal do Windows está disponível para transferência a partir do seguinte Web site da Microsoft Download Center:

Windows Embedded Compact 7 actualizações

Pré-requisitos

Esta actualização só é suportada se todas as actualizações anteriormente disponibilizadas para este produto também tiverem sido instaladas.

Requisito de reinício

Depois de aplicar esta actualização, deve efectuar uma limpeza de toda a plataforma. Para tal, utilize um dos seguintes métodos:

  • No menu de criação , clique Solução limpoe, em seguida, clique em Criar solução.

  • No menu de criação , clique em Reconstruir solução.

Não é necessário reiniciar o computador depois de aplicar esta actualização de software.

Atualizar informações de substituição

Esta actualização não substitui quaisquer outras actualizações.

Informações de ficheiro

Como esta é uma versão de onda completa. Quase todos os binários são afectados por esta edição.

Os seguintes ficheiros de origem são afectados por esta versão::

private\winceos\COREOS\core\corelibc\crtw32\startup\cexit.cpp private\winceos\COREOS\core\corelibc\crtw32\startup\onexit.c

Mais informações

Num ambiente com vários threads, tabelas de função do atexit podem estar danificadas por outra chamada de atexit devido a segurança de thread não. Isto poderia conduzir à corrupção da memória e excepções. A função atexit está a ser utilizada para registar uma rotina que será executada quando o programa termina ou descarrega automaticamente uma. dll. A falha na segurança de thread poderia conduzir a alteração a esta rotina de saída e a corrupção das tabelas de função de saída.

Referências

Obter informações sobre a terminologia utilizada pela Microsoft para descrever actualizações de software.

Precisa de mais ajuda?

Quer mais opções?

Explore os benefícios da subscrição, navegue em cursos de formação, saiba como proteger o seu dispositivo e muito mais.