Úvod
Tento článok popisuje problém, v ktoromn výnimky sa vyskytuje pri viacnásobných vlákien funkciu C spustenia "atexit" súčasne Windows Embedded kompaktný 7. Aktualizácia je k dispozícii na vyriešenie tohto problému. Pred inštaláciou tejto aktualizácie sa všetky skôr vydané aktualizácie pre tento produkt nainštalovaný.
Príznaky
Keď viac vlákien súčasne Windows Embedded kompaktný 7 C spustenia atexit funkciu, sa môže vyskytnúť výnimku. Výnimka sa vyskytuje, keď nie je serializovaný kódu, ktorá volá funkciu atexit alebo atexit vloží kompilátor.
Príčina
Tento problém sa vyskytuje, pretože funkciu C-Run time atexit nie je bezpečné. Preto tabuľky pamäte, ktoré používa funkcia je poškodený.
Riešenie
Informácie o aktualizáciách softvéru
Podporované software update je teraz k dispozícii od spoločnosti Microsoft ako Windows Embedded kompaktný 7 mesačné aktualizácie (jún 2017).
Poznámka: Windows Embedded kompaktný 7 mesačné aktualizácie je k dispozícii na nasledujúcej webovej lokalite Microsoft Download Center:
Požiadavky
Táto aktualizácia je podporovaná len v prípade, že všetky skôr vydané aktualizácie pre tento produkt aj nainštalované.
Požiadavka na reštartovanie
Po použití tejto aktualizácie, musíte vykonať čistú zostava celej platformy. Na tento účel použite jeden z nasledujúcich postupov:
-
V ponuke vytvoriť kliknite Čisté riešeniea kliknite na tlačidlo Riešenie.
-
Zostava ponuke Zostaviť riešenie.
Nemáte na reštartovanie počítača po použití tejto aktualizácie softvéru.
Informácie o nahradení aktualizácie
Táto aktualizácia nenahrádza žiadne iné aktualizácie.
Informácie o súboroch
Je to plne vydania. Takmer všetky binárne súbory sú ovplyvnené tohto vydania.
Nasledujúce zdrojové súbory sú ovplyvnené Toto vydanie::
private\winceos\COREOS\core\corelibc\crtw32\startup\cexit.cpp
private\winceos\COREOS\core\corelibc\crtw32\startup\onexit.cĎalšie informácie
V prostredí mnohovláknové funkcie tabuľky atexit poškodený iný hovor atexit kvôli bezpečnosti iného vlákna. To môže viesť k poškodeniu pamäte a výnimky. Funkcia atexit používa registrovať bežné, že sa vykoná, keď program ukončí alebo .dll uvoľní. Chyba bezpečnosť vlákna môžu viesť k zmenu tohto výstupu rutiny a poškodenie funkcie tabuľky výstupu.
Odkazy
Prečítajte si informácie o terminológii, ktorú spoločnosť Microsoft používa na popis aktualizácií softvéru.