症状
当在 Windows Embedded CE 6.0 R3 中同时运行以下两个函数时,可能会发生死锁:
-
FreePhysPage
-
HNDLCreateHandle
注意 将调用FreePhysPage函数以释放物理内存,并调用HNDLCreateHandle函数来创建对象句柄。
原因
出现此问题的原因是这两个函数同时调用了临界区和对象句柄表锁。 但是,这些函数调用临界区,并且对象处理表以不同顺序锁定。
解决方案
软件更新信息
支持的软件更新现已提供 Microsoft for Windows Embedded CE 6.0 平台生成器每月更新(3月2011)。 你可以滚动到本文的 "文件信息" 部分进行确认。 程序包文件名包含产品版本、日期、知识文库文章编号和处理器类型。 程序包文件名格式为:
产品版本-yymmdd-kbnnnnnn-处理器类型例如: Wincepb50-060503-kb917590-armv4i 是 ARMV4i Windows Embedded CE 5.0 平台构建器修复程序,该修补程序已记录在知识库文章917590中,并且包含在五月2006每月更新中。 若要立即解决此问题,请单击下面的文章编号,了解有关获取 Windows Embedded CE 平台生成器和核心操作系统软件更新的信息:
如何查找 Microsoft Windows Embedded CE 平台生成器产品的核心操作系统修复程序注意 此 Windows Embedded CE 6.0 的每月更新还可从以下 Microsoft 下载中心网站下载:
先决条件
若要应用此软件更新,您必须已安装此产品的所有以前发布的软件更新。
重启要求
安装此软件更新后,必须执行整个平台的干净内部版本。 为此,请使用下列方法之一:
-
在“生成”菜单上,依次单击“清理解决方案”和“生成解决方案”。
-
在“生成”菜单上,单击“重新生成解决方案”。
应用此软件更新后,无需重新启动计算机。
更新替换信息
此更新不替代任何更新。
文件信息
此软件更新程序包的英文版具有下表中列出的文件属性(或更新的文件属性)。 这些文件的日期和时间按协调世界时 (UTC) 列出。 在查看文件信息时,文件时间将转换为本地时间。 要了解 UTC 与本地时间之间的时差,请使用“控制面板”中“日期和时间”项中的“时区”选项卡。