16-Bit Application Stops Responding When Run on WinNT 4.0
Article ID: 163431
Article Last Modified on 11/1/2006
APPLIES TO
- Microsoft Windows NT Workstation 4.0 Developer Edition
- Microsoft Windows NT Server 4.0 Standard Edition
This article was previously published under Q163431
SYMPTOMS
When you run a 16-bit application on Windows NT 4.0, a second 16-bit
application created by the first 16-bit application stops responding. This
same application will run fine on Windows 3.1, Windows 95, and Windows NT
3.51.
CAUSE
The main application created (spawned) a child 16-bit task and then entered
a loop issuing Yield() calls until the newly created task set a global
variable to True. A race condition existed in which the WOW made an
incorrect assumption about the task, calling the yield function after a new
16-bit task was created.
STATUS
Microsoft has confirmed this to be a problem in Windows NT version 4.0.
This problem was corrected in the latest Microsoft Windows NT 4.0 U.S. Service
Pack. For information on obtaining the service pack, query on the following word
in the Microsoft Knowledge Base (without the spaces):
Additional query words: prodnt NT wow32 ntvdm hang
Keywords: kbbug KB163431